Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: NoSQL
Kontejnery ve službě Azure Cosmos DB ukládají sady položek. Než budete moct vytvářet, dotazovat nebo spravovat položky, musíte nejprve vytvořit kontejner.
Pojmenování kontejneru
Ve službě Azure Cosmos DB je kontejner podobný tabulce v relační databázi. Při vytváření kontejneru název kontejneru tvoří segment URI, který slouží k přístupu k prostředku kontejneru a případným podřízeným položkám.
Po vytvoření je identifikátor URI kontejneru v tomto formátu:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Vytvoření kontejneru
Pokud chcete vytvořit kontejner, zavolejte jednu z následujících metod:
Vytvoření kontejneru
Následující příklad vytvoří kontejner s metodou DatabaseProxy.create_container . Tato metoda vyvolá výjimku, pokud kontejner se stejným názvem již existuje.
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.")
Vytvoření kontejneru, pokud ještě neexistuje
Následující příklad vytvoří kontejner s metodou DatabaseProxy.create_container_if_not_exists . V porovnání s předchozí metodou vytvoření tato metoda nevyvolá výjimku, pokud databáze již existuje. Tato metoda je užitečná, pokud několikrát spustíte stejný kód, abyste se vyhnuli chybám.
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.")
Asynchronní vytvoření kontejneru
Databázi můžete také asynchronně vytvořit pomocí podobných objektů a metod v oboru názvů azure.cosmos.aio . Například můžete použít metodu DatabaseProxy.create_database nebo metodu CosmoClient.create_database_if_not_exists na vytvoření databáze.
Asynchronní práce je užitečná, když chcete paralelně provádět více operací. Další informace naleznete v tématu Použití asynchronního klienta.
Analýza odpovědi
V příkladech výše je odpověď z požadavků rozhraní ContainerProxy, které umožňuje interakci s databázovým kontejnerem. Z proxy serveru můžete přistupovat k metodám pro provádění operací v kontejneru.
Následující příklad ukazuje metodu create_container_if_not_exists, která vrací objekt kontejner.
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"]}')