Creación de una base de datos en Azure Cosmos DB for NoSQL mediante .NET

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.

Estas son algunas reglas rápidas de la asignación de un nombre a una base de datos:

  • Los nombres de base de datos no deben estar vacíos.
  • Los nombres de las bases de datos no pueden tener más de 256 caracteres.

Una vez creado, el URI de una base de datos tiene este formato:

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

Sugerencia

Para más información sobre los límites de nombres de base de datos, consulte Límites y cuotas de servicio

Crear una base de datos

Para crear una base de datos, llame a uno de los métodos siguientes:

Creación de una base de datos de forma asincrónica

En el ejemplo siguiente se crea una base de datos de forma asincrónica:

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

El método CosmosClient.CreateDatabaseAsync emite una excepción si ya existe una base de datos con el mismo nombre.

Creación de una base de datos de forma asincrónica si no existe

En el ejemplo siguiente se crea una base de datos de forma asincrónica solo si aún no existe en la cuenta:

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

El método CosmosClient.CreateDatabaseIfNotExistsAsync solo crea una nueva base de datos si no existe ya. Este método es útil para evitar errores si ejecuta el mismo código varias veces.

Análisis de la respuesta

En todos los ejemplos presentados hasta ahora, la respuesta de la solicitud asincrónica se convirtió inmediatamente al tipo Database. Es posible que quiera analizar los metadatos sobre la respuesta, incluidos los encabezados y el código de estado HTTP. El verdadero tipo de valor devuelto para los métodos CosmosClient.CreateDatabaseAsync y CosmosClient.CreateDatabaseIfNotExistsAsync es DatabaseResponse.

En el ejemplo siguiente se muestra el método CosmosClient.CreateDatabaseIfNotExistsAsync que devuelve una DatabaseResponse. Una vez devuelto, puede analizar las propiedades de respuesta y, finalmente, obtener el objeto Base de datos subyacente:

// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;

Pasos siguientes

Ahora que ha creado una base de datos, use la siguiente guía para crear contenedores.