DocumentDB - Conectar conta

Quando você começa a programar no Banco de Dados de Documentos, a primeira etapa é conectar. Portanto, para se conectar à sua conta do Banco de Dados de Documentos, você precisará de duas coisas;

  • Endpoint
  • Chave de Autorização

Endpoint

Endpoint é o URL para sua conta do Banco de Dados de Documentos e é construído combinando o nome da conta do Banco de Dados de Documentos com .documents.azure.com. Vamos para o painel.

Agora, clique na conta do Banco de Dados de Documentos criada. Você verá os detalhes conforme mostrado na imagem a seguir.

Quando você seleciona a opção 'Chaves', ela exibe informações adicionais, conforme mostrado na imagem a seguir. Você também verá o URL de sua conta do Banco de Dados de Documentos, que pode ser usado como seu terminal.

Chave de Autorização

A chave de autorização contém suas credenciais e existem dois tipos de chaves. A chave mestra permite acesso total a todos os recursos da conta, enquanto os tokens de recursos permitem acesso restrito a recursos específicos.

Chaves Mestras

  • Não há nada que você não possa fazer com uma chave mestra. Você pode explodir seu banco de dados inteiro se quiser, usando a chave mestra.

  • Por esse motivo, você definitivamente não deseja compartilhar a chave mestra ou distribuí-la para ambientes de cliente. Como medida de segurança adicional, é uma boa ideia alterá-lo com frequência.

  • Na verdade, existem duas chaves mestras para cada conta de banco de dados, a primária e a secundária, conforme destacado na captura de tela acima.

Tokens de recursos

  • Você também pode usar tokens de recursos em vez de uma chave mestra.

  • As conexões baseadas em tokens de recursos podem acessar apenas os recursos especificados pelos tokens e nenhum outro recurso.

  • Os tokens de recursos são baseados nas permissões do usuário, portanto, primeiro você cria um ou mais usuários, e estes são definidos no nível do banco de dados.

  • Você cria uma ou mais permissões para cada usuário, com base nos recursos que deseja permitir que cada usuário acesse.

  • Cada permissão gera um token de recurso que permite acesso somente leitura ou total a um determinado recurso e que pode ser qualquer recurso de usuário no banco de dados.

Vamos para o aplicativo de console criado no capítulo 3.

Step 1 - Adicione as seguintes referências no arquivo Program.cs.

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

Step 2- Agora adicione o URL do endpoint e a chave de autorização. Neste exemplo, usaremos a chave primária como chave de autorização.

Observe que, no seu caso, o URL do endpoint e a chave de autorização devem ser diferentes.

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

Step 3 - Crie uma nova instância do DocumentClient na tarefa assíncrona chamada CreateDocumentClient e instancie o novo DocumentClient.

Step 4 - Chame sua tarefa assíncrona de seu método Main.

A seguir está o arquivo Program.cs completo até agora.

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

Neste capítulo, aprendemos como se conectar a uma conta DocumentDB e criar uma instância da classe DocumentClient.