Sdílet prostřednictvím


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.