Partilhar via


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.