DocumentDB - Connecter le compte

Lorsque vous commencez à programmer avec DocumentDB, la toute première étape consiste à vous connecter. Donc, pour vous connecter à votre compte DocumentDB, vous aurez besoin de deux choses;

  • Endpoint
  • Clé d'autorisation

Point final

Endpoint est l'URL de votre compte DocumentDB et il est construit en combinant le nom de votre compte DocumentDB avec .documents.azure.com. Allons au tableau de bord.

Maintenant, cliquez sur le compte DocumentDB créé. Vous verrez les détails comme indiqué dans l'image suivante.

Lorsque vous sélectionnez l'option «Clés», il affichera des informations supplémentaires comme indiqué dans l'image suivante. Vous verrez également l'URL de votre compte DocumentDB, que vous pouvez utiliser comme point de terminaison.

Clé d'autorisation

La clé d'autorisation contient vos informations d'identification et il existe deux types de clés. La clé principale permet un accès complet à toutes les ressources du compte, tandis que les jetons de ressources permettent un accès restreint à des ressources spécifiques.

Clés principales

  • Vous ne pouvez rien faire avec une clé principale. Vous pouvez exploser toute votre base de données si vous le souhaitez, en utilisant la clé principale.

  • Pour cette raison, vous ne voulez certainement pas partager la clé principale ou la distribuer aux environnements clients. Comme mesure de sécurité supplémentaire, il est judicieux de le changer fréquemment.

  • Il existe en fait deux clés principales pour chaque compte de base de données, la principale et la secondaire, comme indiqué dans la capture d'écran ci-dessus.

Jetons de ressources

  • Vous pouvez également utiliser des jetons de ressources au lieu d'une clé principale.

  • Les connexions basées sur des jetons de ressources peuvent uniquement accéder aux ressources spécifiées par les jetons et aucune autre ressource.

  • Les jetons de ressources sont basés sur les autorisations des utilisateurs, vous devez donc d'abord créer un ou plusieurs utilisateurs, et ceux-ci sont définis au niveau de la base de données.

  • Vous créez une ou plusieurs autorisations pour chaque utilisateur, en fonction des ressources auxquelles vous souhaitez autoriser chaque utilisateur à accéder.

  • Chaque autorisation génère un jeton de ressource qui permet un accès en lecture seule ou complet à une ressource donnée et qui peut être n'importe quelle ressource utilisateur dans la base de données.

Passons à l'application console créée au chapitre 3.

Step 1 - Ajoutez les références suivantes dans le fichier Program.cs.

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

Step 2- Ajoutez maintenant l'URL du point de terminaison et la clé d'autorisation. Dans cet exemple, nous utiliserons la clé primaire comme clé d'autorisation.

Notez que dans votre cas, l'URL du point de terminaison et la clé d'autorisation doivent être différentes.

private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/"; 
private const string AuthorizationKey = 
   "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";

Step 3 - Créez une nouvelle instance de DocumentClient dans une tâche asynchrone appelée CreateDocumentClient et instanciez un nouveau DocumentClient.

Step 4 - Appelez votre tâche asynchrone à partir de votre méthode Main.

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
         var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey);
      }
		
   }
}

Dans ce chapitre, nous avons appris à se connecter à un compte DocumentDB et à créer une instance de la classe DocumentClient.