Compartilhar via


Criar um banco de dados no Azure Cosmos DB for NoSQL usando Python

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:

  • Manter os nomes dos bancos de dados entre 3 e 63 caracteres
  • Os nomes dos bancos de dados só podem conter letras minúsculas, números ou o caractere de traço (-).
  • Os nomes dos bancos de dados devem começar com uma letra minúscula ou um número.

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

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

Criar um banco de dados

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

Criar um banco de dados

O exemplo a seguir cria um banco de dados com o método CosmosClient.create_database. Este método lança uma exceção se existir um banco de dados com o mesmo nome.

try:
    database = client.create_database(id=DATABASE_ID)
    print(f"Database created: {database.id}")

except CosmosResourceExistsError:
    print("Database already exists.")

Criar um banco de dados se ele ainda não existe

O exemplo a seguir cria um banco de dados com o método CosmosClient.create_database_if_not_exists. Se o banco de dados existir, esse método retornará as configurações do banco de dados. Em comparação com o método de criação anterior, esse método não gerará uma exceção se o banco de dados já existir. Esse método é útil para evitar erros se você executar o mesmo código várias vezes.

try:
    database = client.create_database_if_not_exists(id=DATABASE_ID)
    print(f"Database created or returned: {database.id}")

except CosmosHttpResponseError:
    print("Request to the Azure Cosmos database service failed.")

Criar um banco de dados assíncrono

Você também pode criar um banco de dados de forma assíncrona usando métodos e objetos semelhantes no namespace azure.cosmos.aio. Por exemplo, use o método CosmosClient.create_database ou o método 'CosmoClient.create_database_if_not_exists.

Trabalhar de forma assíncrona é útil quando você deseja executar várias operações em paralelo. Para obter mais informações, confira Usando o cliente assíncrono.

Análise da resposta

Nos exemplos acima, a resposta das solicitações é um DatabaseProxy, que é uma interface para interagir com um banco de dados específico. No proxy, você pode acessar métodos para executar operações no banco de dados.

O exemplo a seguir mostra o método create_database_if_not_exists retornando um objeto de banco de dados.

database = client.create_database_if_not_exists(id=DATABASE_ID)
for container in database.list_containers():
    print(f'Container name: {container["id"]}')

Próximas etapas

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