Criar uma base de dados no Azure Cosmos DB para NoSQL com .NET

APLICA-SE A: NoSQL

As bases de dados no Azure Cosmos DB são unidades de gestão para um ou mais contentores. Antes de poder criar ou gerir contentores, primeiro tem de criar uma base de dados.

Atribuir um nome a uma base de dados

No Azure Cosmos DB, uma base de dados é análoga a um espaço de nomes. Quando cria uma base de dados, o nome da base de dados forma um segmento do URI utilizado para aceder ao recurso da base de dados e a quaisquer recursos subordinados.

Seguem-se algumas regras rápidas ao atribuir nomes a uma base de dados:

  • Os nomes das bases de dados não podem estar vazios.
  • Os nomes das bases de dados não podem ter mais de 256 carateres.

Depois de criado, o URI de uma base de dados está neste formato:

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

Dica

Para obter mais informações sobre os limites de nomes de bases de dados, veja Quotas e limites de serviço

Criar uma base de dados

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

Criar uma base de dados de forma assíncrona

O exemplo seguinte cria uma base de dados de forma assíncrona:

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

O CosmosClient.CreateDatabaseAsync método gera uma exceção se já existir uma base de dados com o mesmo nome.

Criar uma base de dados de forma assíncrona se ainda não existir

O exemplo seguinte cria uma base de dados de forma assíncrona apenas se 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 CosmosClient.CreateDatabaseIfNotExistsAsync método só cria uma nova base de dados se ainda não existir. Este método é útil para evitar erros se executar o mesmo código várias vezes.

Analisar a resposta

Em todos os exemplos até agora, a resposta do pedido assíncrono foi imediatamente lançada para o Database tipo. Poderá querer analisar metadados sobre a resposta, incluindo cabeçalhos e o código de estado HTTP. O verdadeiro tipo de retorno para os métodos CosmosClient.CreateDatabaseAsync e CosmosClient.CreateDatabaseIfNotExistsAsync é DatabaseResponse.

O exemplo seguinte mostra o método CosmosClient.CreateDatabaseIfNotExistsAsync que devolve uma DatabaseResponse. Depois de devolvido, pode analisar as propriedades da resposta e, eventualmente, obter o objeto de Base 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;

Passos seguintes

Agora que criou uma base de dados, utilize o guia seguinte para criar contentores.