Membuat kontainer di Azure Cosmos DB untuk NoSQL menggunakan Python
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.
Setelah dibuat, URI untuk kontainer berada dalam format ini:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Membuat kontainer
Untuk membuat kontainer, panggil salah satu metode berikut:
Membuat kontainer
Contoh berikut membuat kontainer dengan DatabaseProxy.create_container
metode . Metode ini memberikan pengecualian jika kontainer dengan nama yang sama sudah ada.
try:
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
print(f"Container created: {container.id}")
except CosmosResourceExistsError:
print("Container already exists.")
Membuat kontainer jika belum ada
Contoh berikut membuat kontainer dengan DatabaseProxy.create_container_if_not_exists
metode . Dibandingkan dengan metode buat sebelumnya, metode ini tidak melemparkan pengecualian jika database sudah ada. Metode ini berguna untuk menghindari kesalahan jika Anda menjalankan kode yang sama beberapa kali.
try:
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container_if_not_exists(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
print(f"Container created or returned: {container.id}")
except CosmosHttpResponseError:
print("Request to the Azure Cosmos database service failed.")
Membuat kontainer secara asinkron
Anda juga dapat membuat database secara asinkron menggunakan objek dan metode serupa di namespace azure.cosmos.aio . Misalnya, gunakan metode DatabaseProxy.create_database atau metode CosmoClient.create_database_if_not_exists .
Bekerja secara asinkron berguna ketika Anda ingin melakukan beberapa operasi secara paralel. Untuk informasi selengkapnya, lihat Menggunakan klien asinkron.
Mengurai respons
Dalam contoh di atas, respons dari permintaan adalah ContainerProxy
, yang merupakan antarmuka untuk berinteraksi dengan Kontainer DB. Dari proksi, Anda dapat mengakses metode untuk melakukan operasi pada kontainer.
Contoh berikut menunjukkan metode create_container_if_not_exists yang mengembalikan objek kontainer .
partition_key_path = PartitionKey(path="/categoryId")
container = database.create_container_if_not_exists(
id=CONTAINER_ID,
partition_key=partition_key_path,
offer_throughput=400,
)
for doc in container.read_all_items(max_item_count=10):
print(f'Doc id: {doc["id"]}')
Langkah berikutnya
Sekarang setelah Anda membuat kontainer, gunakan panduan berikutnya untuk membuat item.