DocumentDB - Conectar cuenta

Cuando comienza a programar con DocumentDB, el primer paso es conectarse. Entonces, para conectarse a su cuenta de DocumentDB, necesitará dos cosas;

  • Endpoint
  • Clave de autorización

Punto final

Endpoint es la URL de su cuenta de DocumentDB y se construye combinando el nombre de su cuenta de DocumentDB con .documents.azure.com. Vayamos al Tablero.

Ahora, haga clic en la cuenta DocumentDB creada. Verá los detalles como se muestra en la siguiente imagen.

Cuando seleccione la opción 'Claves', mostrará información adicional como se muestra en la siguiente imagen. También verá la URL de su cuenta de DocumentDB, que puede usar como su punto final.

Clave de autorización

La clave de autorización contiene sus credenciales y hay dos tipos de claves. La clave maestra permite el acceso completo a todos los recursos dentro de la cuenta, mientras que los tokens de recursos permiten el acceso restringido a recursos específicos.

Llaves maestras

  • No hay nada que no puedas hacer con una llave maestra. Puede volar toda su base de datos si lo desea, utilizando la clave maestra.

  • Por esta razón, definitivamente no desea compartir la clave maestra ni distribuirla a los entornos de los clientes. Como medida de seguridad adicional, es una buena idea cambiarlo con frecuencia.

  • En realidad, hay dos claves maestras para cada cuenta de base de datos, la principal y la secundaria, como se destaca en la captura de pantalla anterior.

Tokens de recursos

  • También puede utilizar tokens de recursos en lugar de una clave maestra.

  • Las conexiones basadas en tokens de recursos solo pueden acceder a los recursos especificados por los tokens y no a otros recursos.

  • Los tokens de recursos se basan en permisos de usuario, por lo que primero crea uno o más usuarios, y estos se definen a nivel de base de datos.

  • Usted crea uno o más permisos para cada usuario, en función de los recursos a los que desea permitir que cada usuario acceda.

  • Cada permiso genera un token de recurso que permite el acceso completo o de solo lectura a un recurso determinado y que puede ser cualquier recurso de usuario dentro de la base de datos.

Vayamos a la aplicación de consola creada en el capítulo 3.

Step 1 - Agregue las siguientes referencias en el archivo Program.cs.

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

Step 2- Ahora agregue la URL del extremo y la clave de autorización. En este ejemplo, usaremos la clave principal como clave de autorización.

Tenga en cuenta que, en su caso, tanto la URL del punto final como la clave de autorización deben ser diferentes.

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

Step 3 - Cree una nueva instancia de DocumentClient en una tarea asincrónica llamada CreateDocumentClient y cree una nueva instancia de DocumentClient.

Step 4 - Llame a su tarea asincrónica desde su método Main.

A continuación se muestra el archivo Program.cs completo hasta ahora.

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

En este capítulo, hemos aprendido cómo conectarnos a una cuenta de DocumentDB y crear una instancia de la clase DocumentClient.