Vytvoření kontejneru ve službě Azure Cosmos DB for NoSQL pomocí .NET
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 tvoří název kontejneru segment identifikátoru URI sloužícího pro přístup k prostředku kontejneru a všechny podřízené položky.
Tady je několik rychlých pravidel při pojmenování kontejneru:
- Názvy kontejnerů nesmí být prázdné.
- Názvy kontejnerů nesmí být delší než 256 znaků.
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>
Tip
Další informace o omezeních názvů kontejnerů najdete v tématu Kvóty a limity služby.
Vytvoření kontejneru
Pokud chcete vytvořit kontejner, zavolejte jednu z následujících metod:
Asynchronní vytvoření kontejneru
Následující příklad vytvoří kontejner asynchronně:
// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
id: "products-1",
partitionKeyPath: "/category",
throughput: 400
);
Metoda Database.CreateContainerAsync
vyvolá výjimku, pokud databáze se stejným názvem již existuje.
Vytvoření kontejneru asynchronně, pokud ještě neexistuje
Následující příklad vytvoří kontejner asynchronně pouze v případě, že ještě v účtu neexistuje:
// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
id: "products-2",
partitionKeyPath: "/category",
throughput: 400
);
Metoda Database.CreateContainerIfNotExistsAsync
vytvoří pouze nový kontejner, pokud ještě neexistuje. Tato metoda je užitečná, pokud několikrát spustíte stejný kód, abyste se vyhnuli chybám.
Analýza odpovědi
Ve všech příkladech se odpověď z asynchronního požadavku přetypovala okamžitě na Container
typ. Můžete chtít analyzovat metadata o odpovědi, včetně hlaviček a stavového kódu HTTP. True návratový typ pro Metody Database.CreateContainerAsync a Database.CreateContainerIfNotExistsAsync je ContainerResponse
.
Následující příklad ukazuje Database.CreateContainerIfNotExistsAsync metoda vracející ContainerResponse. Po vrácení můžete parsovat vlastnosti odpovědi a nakonec získat základní objekt kontejneru :
// 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;
Další kroky
Teď, když vytvoříte kontejner, použijte dalšího průvodce k vytvoření položek.