Créer une base de données dans Azure Cosmos DB for NoSQL à l’aide de .NET

S’APPLIQUE À : NoSQL

Les bases de données dans Azure Cosmos DB sont des unités de gestion pour un ou plusieurs conteneurs. Avant de pouvoir créer ou gérer des conteneurs, vous devez d’abord créer une base de données.

Nommer une base de données

Dans Azure Cosmos DB, une base de données est analogue à un espace de noms. Lorsque vous créez une base de données, le nom de la base de données forme un segment de l’URI utilisé pour accéder à la ressource de base de données et à toutes les ressources enfants.

Voici quelques règles rapides lors de l’affectation d’un nom à une base de données :

  • Les noms de base de données ne doivent pas être vides.
  • Les noms de base de données ne peuvent pas dépasser 256 caractères.

Une fois créé, l’URI d’une base de données est au format suivant :

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

Conseil

Pour plus d'informations sur les limites de nom de base de données, voir Quotas et limites de service

Création d'une base de données

Pour créer une base de données, utilisez l’une des méthodes suivantes :

Créer une base de données de manière asynchrone

L’exemple suivant illustre la création d’une base de données de manière asynchrone :

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

La méthode CosmosClient.CreateDatabaseAsync lève une exception si une base de données portant le même nom existe déjà.

Créez une base de données de manière asynchrone si elle n’existe pas déjà

L’exemple suivant crée une base de données de manière asynchrone uniquement si elle n’existe pas déjà sur le compte :

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

La méthode CosmosClient.CreateDatabaseIfNotExistsAsync ne crée une nouvelle base de données que si elle n'existe pas déjà. Cette méthode est utile pour éviter les erreurs si vous exécutez le même code plusieurs fois.

Analyse de la réponse

Dans tous les exemples jusqu’à présent, la réponse de la requête asynchrone a été castée immédiatement vers le type Database. Vous pouvez analyser les métadonnées relatives à la réponse, y compris les en-têtes et le code d’état HTTP. Le type de retour true pour les méthodes CosmosClient.CreateDatabaseAsync et CosmosClient.CreateDatabaseIfNotExistsAsync est DatabaseResponse.

L’exemple suivant montre la méthode CosmosClient.CreateDatabaseIfNotExistsAsync retournant une DatabaseResponse. Une fois retournées, vous pouvez analyser les propriétés de réponse, puis obtenir l’objet base de données sous-jacent :

// 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;

Étapes suivantes

Maintenant que vous avez créé une base de données, utilisez le guide suivant pour créer des conteneurs.