Criar um contêiner no Azure Cosmos DB para NoSQL usando .NET
APLICA-SE A: NoSQL
Os contêineres no Azure Cosmos DB armazenam conjuntos de itens. Antes de criar, consultar ou gerenciar itens, você deve primeiro criar um contêiner.
Nomeie um contêiner
No Azure Cosmos DB, um contêiner é análogo a uma tabela em um banco de dados relacional. Quando você cria um contêiner, o nome do contêiner forma um segmento do URI usado para acessar o recurso de contêiner e quaisquer itens filho.
Aqui estão algumas regras rápidas ao nomear um contêiner:
- Os nomes dos contêineres não devem estar vazios.
- Os nomes de contêiner não podem ter mais de 256 caracteres.
Uma vez criado, o URI de um contêiner está neste formato:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Gorjeta
Para obter mais informações sobre limites de nome de contêiner, consulte cotas e limites de serviço
Criar um contentor
Para criar um contêiner, chame um dos seguintes métodos:
Criar um contêiner de forma assíncrona
O exemplo a seguir cria um contêiner de forma assíncrona:
// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
id: "products-1",
partitionKeyPath: "/category",
throughput: 400
);
O Database.CreateContainerAsync
método lança uma exceção se já existir um banco de dados com o mesmo nome.
Criar um contêiner de forma assíncrona, se ele ainda não existir
O exemplo a seguir cria um contêiner de forma assíncrona somente se ele ainda não existir na conta:
// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
id: "products-2",
partitionKeyPath: "/category",
throughput: 400
);
O Database.CreateContainerIfNotExistsAsync
método só cria um novo contêiner se ele ainda não existir. Esse método é útil para evitar erros se você executar o mesmo código várias vezes.
Analisar a resposta
Em todos os exemplos até agora, a resposta da solicitação assíncrona foi convertida imediatamente para o Container
tipo. Convém analisar metadados sobre a resposta, incluindo cabeçalhos e o código de status HTTP. O tipo de retorno verdadeiro para os métodos Database.CreateContainerAsync e Database.CreateContainerIfNotExistsAsync é ContainerResponse
.
O exemplo a seguir mostra o método Database.CreateContainerIfNotExistsAsync retornando um ContainerResponse. Uma vez retornado, você pode analisar as propriedades de resposta e, eventualmente, obter o objeto Container subjacente:
// 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;
Próximos passos
Agora que você criou um contêiner, use o próximo guia para criar itens.