Bagikan melalui


Membuat kontainer di Azure Cosmos DB untuk NoSQL menggunakan .NET

BERLAKU UNTUK: NoSQL

Kontainer di Azure Cosmos DB menyimpan set item. Sebelum Anda dapat membuat, mengkueri, atau mengelola item, Anda terlebih dahulu harus membuat kontainer.

Beri kontainer nama

Di Azure Cosmos DB, kontainer dianalogikan dengan tabel dalam database relasional. Saat Anda membuat kontainer, nama kontainer membentuk segmen URI yang digunakan untuk mengakses sumber daya kontainer dan item turunan apa pun.

Berikut beberapa aturan cepat saat memberi nama kontainer:

  • Nama kontainer tidak boleh kosong.
  • Nama kontainer tidak boleh lebih panjang dari 256 karakter.

Setelah dibuat, URI untuk kontainer berada dalam format ini:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>

Tip

Untuk informasi selengkapnya tentang batas nama kontainer, lihat kuota dan batas layanan

Membuat kontainer

Untuk membuat kontainer, panggil salah satu metode berikut:

Membuat kontainer secara asinkron

Contoh berikut membuat kontainer secara asinkron:

// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
    id: "products-1",
    partitionKeyPath: "/category",
    throughput: 400
);

Metode ini Database.CreateContainerAsync melemparkan pengecualian jika database dengan nama yang sama sudah ada.

Membuat database secara asinkron jika belum ada

Contoh berikut membuat kontainer secara asinkron hanya jika kontainer tersebut belum ada di akun:

// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
    id: "products-2",
    partitionKeyPath: "/category",
    throughput: 400
);

Metode Database.CreateContainerIfNotExistsAsync ini hanya membuat kontainer baru jika belum ada. Metode ini berguna untuk menghindari kesalahan jika Anda menjalankan kode yang sama beberapa kali.

Mengurai respons

Dalam semua contoh sejauh ini, respons dari permintaan asinkron segera ditransmisikan ke jenis Container. Anda mungkin ingin mengurai metadata tentang respons termasuk header dan kode status HTTP. Jenis pengembalian true untuk metode Database.CreateContainerAsync dan Database.CreateContainerIfNotExistsAsync adalah ContainerResponse.

Contoh berikut menunjukkan metode Database.CreateContainerIfNotExistsAsync yang mengembalikan ContainerResponse. Setelah dikembalikan, Anda dapat mengurai properti respons dan kemudian pada akhirnya mendapatkan objek Kontainer yang mendasar:

// New instance of Container class referencing the server-side container
ContainerResponse response = await database.CreateContainerIfNotExistsAsync(
    id: "products-3",
    partitionKeyPath: "/category",
    throughput: 400
);
// Parse additional response properties
Container container3 = response.Container;

Langkah berikutnya

Sekarang setelah Anda membuat kontainer, gunakan panduan berikutnya untuk membuat item.