Criar um banco de dados do Azure Cosmos DB for NoSQL usando .NET

APLICA-SE A: NoSQL

Os bancos de dados no Azure Cosmos DB são unidades de gerenciamento para um ou mais contêineres. Antes de criar ou gerenciar contêineres, você deve criar um banco de dados.

Nomear um banco de dados

No Azure Cosmos DB, um banco de dados é análogo a um namespace. Quando você cria um banco de dados, o nome do banco de dados forma um segmento do URI usado para acessar o recurso de banco de dados e todos os recursos filho.

Aqui estão algumas regras rápidas ao nomear um banco de dados:

  • Os nomes dos bancos de dados não devem estar vazios.
  • Os nomes dos bancos de dados não podem ter mais de 256 caracteres.

Depois de criado, o URI de um banco de dados estará nesse formato:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Dica

Para obter mais informações sobre limites de nome de banco de dados, veja cotas e limites de serviço

Criar um banco de dados

Para criar um banco de dados, chame um dos seguintes métodos:

Criar um banco de dados assíncrono

O seguinte exemplo cria um banco de dados assíncrono:

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

O método CosmosClient.CreateDatabaseAsync lança uma exceção se já existir um banco de dados com o mesmo nome.

Criar um banco de dados assíncrono se ele não existir

O exemplo a seguir cria um banco de dados assíncrono somente se ele ainda não existir na conta:

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

O método CosmosClient.CreateDatabaseIfNotExistsAsync só cria um novo banco de dados se ele ainda não existir. Esse método é útil para evitar erros se você executar o mesmo código várias vezes.

Análise da resposta

Em todos os exemplos até agora, a resposta da solicitação assíncrona foi lançada imediatamente para o tipo Database. Talvez você queira analisar metadados sobre a resposta, incluindo cabeçalhos e o código de status HTTP. O verdadeiro tipo de retorno para os métodos CosmosClient.CreateDatabaseAsync e CosmosClient.CreateDatabaseIfNotExistsAsync é DatabaseResponse.

O exemplo a seguir mostra o método CosmosClient.CreateDatabaseIfNotExistsAsync retornando um DatabaseResponse. Depois de retornado, você pode analisar as propriedades de resposta e, assim, obter o objeto Banco de dados subjacente:

// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;

Próximas etapas

Agora que você criou um banco de dados, use o próximo guia para criar contêineres.