Partilhar via


Criar um banco de dados no Azure Cosmos DB para 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 primeiro 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 quaisquer recursos filho.

Uma vez criado, o URI de um banco de dados está neste formato:

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

Criar uma base de dados

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

Criar uma base de dados

O exemplo a seguir cria um banco de dados com o CosmosClient.create_database método. Esse 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 existir

O exemplo a seguir cria um banco de dados com o CosmosClient.create_database_if_not_exists método. Se o banco de dados existir, esse método retornará as configurações do banco de dados. Em comparação com o método create anterior, esse método não lança 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 de forma assíncrona

Você também pode criar um banco de dados de forma assíncrona usando objetos e métodos semelhantes no namespace azure.cosmos.aio . Por exemplo, use o CosmosClient.create_database método 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, consulte Usando o cliente assíncrono.

Analisar a resposta

Nos exemplos acima, a resposta das solicitações é um DatabaseProxy, que é uma interface para interagir com um banco de dados específico. A partir do 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 que retorna 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óximos passos

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