Creación de una base de datos en Azure Cosmos DB para NoSQL mediante Python

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.

Asignar un 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 usado para tener acceso 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:

Crear una base de datos

En el ejemplo siguiente se crea una base de datos con el CosmosClient.create_database método . Este método produce una excepción si existe una base de datos con el mismo nombre.

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

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

Crear una base de datos si aún no existe

En el ejemplo siguiente se crea una base de datos con el CosmosClient.create_database_if_not_exists método . Si la base de datos existe, este método devuelve la configuración de la base de datos. En comparación con el método create 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 mediante métodos y objetos similares en el espacio de nombres azure.cosmos.aio . Por ejemplo, use el CosmosClient.create_database método o el CosmosClient.create_database_if_not_exists método .

Trabajar de forma asincrónica es útil cuando desea 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 , DatabaseProxyque es una interfaz para interactuar con una base de datos específica. Desde el proxy, 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.