Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Cosmos DB'deki kapsayıcılar öğe kümelerini depolar. Öğeleri oluşturabilmeniz, sorgulayabilmeniz veya yönetebilmeniz için önce bir kapsayıcı oluşturmanız gerekir.
Kapsayıcıyı adlandırma
Azure Cosmos DB'de kapsayıcı, ilişkisel veritabanındaki tabloya benzer. Kapsayıcı oluşturduğunuzda, kapsayıcı adı kapsayıcı kaynağına ve alt öğelere erişmek için kullanılan URI'nin bir kesimini oluşturur.
Oluşturulduktan sonra kapsayıcının URI'si şu biçimdedir:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Kapsayıcı oluşturma
Kapsayıcı oluşturmak için aşağıdaki yöntemlerden birini çağırın:
- CreateContainerAsync
- CreateContainerIfNotExistsAsync (Var Olmayan Bir Konteyneri Oluştur)
- Bir kapsayıcıyı zaman uyumsuz olarak oluştur
Kapsayıcı oluşturma
Aşağıdaki örnek, DatabaseProxy.create_container yöntemiyle bir kapsayıcı oluşturur. Aynı ada sahip bir kapsayıcı zaten varsa, bu yöntem bir hata fırlatır.
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.")
Zaten yoksa bir kapsayıcı oluşturun
Aşağıdaki örnek, DatabaseProxy.create_container_if_not_exists yöntemiyle bir kapsayıcı oluşturur. Önceki oluşturma yöntemiyle karşılaştırıldığında, veritabanı zaten varsa bu yöntem bir özel durum oluşturmaz. Bu yöntem, aynı kodu birden çok kez çalıştırırsanız hatalardan kaçınmak için kullanışlıdır.
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.")
Eşzamansız olarak bir kapsayıcı oluştur
Ayrıca azure.cosmos.aio ad alanında benzer nesne ve yöntemleri kullanarak zaman uyumsuz olarak bir kapsayıcı oluşturabilirsiniz. Örneğin, DatabaseProxy.create_container yöntemini veya CosmosClient.create_container_if_not_exists yöntemini kullanın.
Birden çok işlemi paralel olarak gerçekleştirmek istediğinizde zaman uyumsuz çalışmak yararlı olur. Daha fazla bilgi için bkz. Zaman uyumsuz istemciyi kullanma.
Yanıtı ayrıştırma
Yukarıdaki örneklerde, isteklerden gelen yanıt, bir ContainerProxyDB Kapsayıcısı ile etkileşime geçmek için kullanılan bir arabirimdir. Ara sunucudan, kapsayıcıda işlem gerçekleştirmek için yöntemlere erişebilirsiniz.
Aşağıdaki örnekte kapsayıcı nesnesi döndüren create_container_if_not_exists yöntemi gösterilmektedir.
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"]}')