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.
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.