DocumentDB - Подключить учетную запись

Когда вы начинаете программировать с помощью DocumentDB, самым первым шагом является подключение. Итак, чтобы подключиться к вашей учетной записи DocumentDB, вам понадобятся две вещи;

  • Endpoint
  • Ключ авторизации

Конечная точка

Конечная точка - это URL-адрес вашей учетной записи DocumentDB, который создается путем объединения имени вашей учетной записи DocumentDB с .documents.azure.com. Пойдем в Личный кабинет.

Теперь щелкните созданную учетную запись DocumentDB. Вы увидите детали, как показано на следующем изображении.

Когда вы выбираете опцию «Ключи», отображается дополнительная информация, как показано на следующем изображении. Вы также увидите URL-адрес своей учетной записи DocumentDB, которую вы можете использовать в качестве конечной точки.

Ключ авторизации

Ключ авторизации содержит ваши учетные данные, и есть два типа ключей. Главный ключ обеспечивает полный доступ ко всем ресурсам в учетной записи, в то время как маркеры ресурсов разрешают ограниченный доступ к определенным ресурсам.

Мастер Ключи

  • Нет ничего невозможного с мастер-ключом. Вы можете удалить всю свою базу данных, если хотите, используя главный ключ.

  • По этой причине вы определенно не хотите делиться главным ключом или распространять его в клиентских средах. В качестве дополнительной меры безопасности рекомендуется часто менять его.

  • На самом деле существует два главных ключа для каждой учетной записи базы данных, первичный и вторичный, как показано на скриншоте выше.

Жетоны ресурсов

  • Вы также можете использовать токены ресурсов вместо главного ключа.

  • Соединения, основанные на токенах ресурсов, могут получить доступ только к ресурсам, указанным в токенах, и никаким другим ресурсам.

  • Маркеры ресурсов основаны на разрешениях пользователей, поэтому сначала вы создаете одного или нескольких пользователей, и они определяются на уровне базы данных.

  • Вы создаете одно или несколько разрешений для каждого пользователя в зависимости от ресурсов, к которым вы хотите предоставить каждому пользователю доступ.

  • Каждое разрешение генерирует токен ресурса, который позволяет либо только для чтения, либо полный доступ к данному ресурсу, и им может быть любой пользовательский ресурс в базе данных.

Переходим в консольное приложение, созданное в главе 3.

Step 1 - Добавьте следующие ссылки в файл Program.cs.

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

Step 2- Теперь добавьте URL-адрес конечной точки и ключ авторизации. В этом примере мы будем использовать первичный ключ в качестве ключа авторизации.

Обратите внимание, что в вашем случае URL-адрес конечной точки и ключ авторизации должны быть разными.

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

Step 3 - Создайте новый экземпляр DocumentClient в асинхронной задаче под названием CreateDocumentClient и создайте новый DocumentClient.

Step 4 - Вызов асинхронной задачи из метода Main.

Ниже приведен полный файл Program.cs на данный момент.

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);
      }
		
   }
}

В этой главе мы узнали, как подключиться к учетной записи DocumentDB и создать экземпляр класса DocumentClient.