DocumentDB - Créer une base de données

Dans ce chapitre, nous allons apprendre à créer une base de données. Pour utiliser Microsoft Azure DocumentDB, vous devez disposer d'un compte DocumentDB, d'une base de données, d'une collection et de documents. Nous avons déjà un compte DocumentDB, maintenant pour créer une base de données, nous avons deux options -

  • Portail Microsoft Azure ou
  • SDK .Net

Créer une base de données pour DocumentDB à l'aide du portail Microsoft Azure

Pour créer une base de données à l'aide du portail, procédez comme suit.

Step 1 - Connectez-vous au portail Azure et vous verrez le tableau de bord.

Step 2 - Cliquez maintenant sur le compte DocumentDB créé et vous verrez les détails comme indiqué dans la capture d'écran suivante.

Step 3 - Sélectionnez l'option Ajouter une base de données et fournissez l'ID de votre base de données.

Step 4 - Cliquez sur OK.

Vous pouvez voir que la base de données est ajoutée. Pour le moment, il n'a pas de collection, mais nous pouvons ajouter des collections plus tard qui sont les conteneurs qui vont stocker nos documents JSON. Notez qu'il a à la fois un ID et un ID de ressource.

Créer une base de données pour DocumentDB à l'aide du SDK .Net

Pour créer une base de données à l'aide du SDK .Net, procédez comme suit.

Step 1 - Ouvrez l'application console dans Visual Studio à partir du dernier chapitre.

Step 2- Créez la nouvelle base de données en créant un nouvel objet de base de données. Pour créer une nouvelle base de données, il suffit d'attribuer la propriété Id, que nous définissons sur «mynewdb» dans une tâche CreateDatabase.

private async static Task CreateDatabase(DocumentClient client) {
   Console.WriteLine(); 
   Console.WriteLine("******** Create Database *******");
	
   var databaseDefinition = new Database { Id = "mynewdb" }; 
   var result = await client.CreateDatabaseAsync(databaseDefinition); 
   var database = result.Resource;
	
   Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId); 
   Console.WriteLine("******** Database Created *******"); 
}

Step 3- Passez maintenant cette définition de base de données à CreateDatabaseAsync et récupérez un résultat avec une propriété Resource. Toutes les méthodes de création d'objet renvoient une propriété Resource qui décrit l'élément qui a été créé, qui est une base de données dans ce cas.

Nous obtenons le nouvel objet de base de données à partir de la propriété Resource et il est affiché sur la console avec l'ID de ressource que DocumentDB lui a attribué.

Step 4 - Appelez maintenant la tâche CreateDatabase à partir de la tâche CreateDocumentClient une fois que DocumentClient est instancié.

using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) { 
   await CreateDatabase(client); 
}

Voici le fichier Program.cs complet à ce jour.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Newtonsoft.Json;

namespace DocumentDBDemo {

   class Program {
      private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/";
		
      private const string AuthorizationKey = "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/
         StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";
			
      static void Main(string[] args) {
         try {
            CreateDocumentClient().Wait();
         } catch (Exception e) {
            Exception baseException = e.GetBaseException();
            Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message);
         }
         Console.ReadKey();
      }
		
      private static async Task CreateDocumentClient() {
         // Create a new instance of the DocumentClient
         using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
            await CreateDatabase(client);
         } 
      }
		
      private async static Task CreateDatabase(DocumentClient client) {
         Console.WriteLine();
         Console.WriteLine("******** Create Database *******");
			
         var databaseDefinition = new Database { Id = "mynewdb" };
         var result = await client.CreateDatabaseAsync(databaseDefinition);
         var database = result.Resource;
			
         Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId);
         Console.WriteLine("******** Database Created *******");
      }
		
   } 
}

Lorsque le code ci-dessus est compilé et exécuté, vous recevrez la sortie suivante qui contient les ID de base de données et de ressources.

******** Create Database ******* 
 Database Id: mynewdb; Rid: ltpJAA== 
******** Database Created *******