Creación de una base de datos en Azure Cosmos DB for NoSQL mediante Python
SE APLICA A: NoSQL
Las bases de datos de Azure Cosmos DB son unidades de administración para uno o varios contenedores. Para poder crear o administrar contenedores, primero debe crear una base de datos.
Asignación de nombre a una base de datos
En Azure Cosmos DB, una base de datos es análoga a un espacio de nombres. Al crear una base de datos, el nombre de la base de datos forma un segmento del URI utilizado para acceder al recurso de base de datos y a los recursos secundarios.
Una vez creado, el URI de una base de datos tiene este formato:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
Crear una base de datos
Para crear una base de datos, llame a uno de los métodos siguientes:
- CreateDatabaseAsync
- CreateDatabaseIfNotExistsAsync
- Creación de una base de datos de forma asincrónica
Crear una base de datos
En el siguiente ejemplo se crea una base de datos con el método CosmosClient.create_database
. Si ya existe una base de datos con el mismo nombre, este método genera una excepción.
try:
database = client.create_database(id=DATABASE_ID)
print(f"Database created: {database.id}")
except CosmosResourceExistsError:
print("Database already exists.")
Creación de una base de datos si aún no existe
En el siguiente ejemplo se crea una base de datos con el método CosmosClient.create_database_if_not_exists
. Si la base de datos ya existe, este método devuelve la configuración de la base de datos. En comparación con el método de creación anterior, este método no produce una excepción si la base de datos ya existe. Este método es útil para evitar errores si ejecuta el mismo código varias veces.
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.")
Creación de una base de datos de forma asincrónica
También puede crear una base de datos de forma asincrónica usando métodos y objetos similares en el espacio de nombres azure.cosmos.aio. Por ejemplo, use el método CosmosClient.create_database
o el método "CosmoClient.create_database_if_not_exists.
Trabajar de forma asincrónica es útil cuando se quieren realizar varias operaciones en paralelo. Para obtener más información, consulte Uso del cliente asincrónico.
Análisis de la respuesta
En los ejemplos anteriores, la respuesta de las solicitudes es un objeto DatabaseProxy
, que es una interfaz para interactuar con una base de datos concreta. Desde el proxy, se puede acceder a métodos para realizar operaciones en la base de datos.
En el ejemplo siguiente se muestra el método create_database_if_not_exists, que devuelve un objeto de base de datos.
database = client.create_database_if_not_exists(id=DATABASE_ID)
for container in database.list_containers():
print(f'Container name: {container["id"]}')
Pasos siguientes
Ahora que ha creado una base de datos, use la siguiente guía para crear contenedores.