DocumentDB - Hubungkan Akun

Saat Anda memulai pemrograman terhadap DocumentDB, langkah pertama adalah menghubungkan. Jadi untuk terhubung ke akun DocumentDB Anda, Anda memerlukan dua hal;

  • Endpoint
  • Kunci Otorisasi

Titik akhir

Endpoint adalah URL ke akun DocumentDB Anda dan dibuat dengan menggabungkan nama akun DocumentDB Anda dengan .documents.azure.com. Ayo pergi ke Dashboard.

Sekarang, klik pada akun DocumentDB yang dibuat. Anda akan melihat detailnya seperti yang ditunjukkan pada gambar berikut.

Ketika Anda memilih opsi 'Kunci', itu akan menampilkan informasi tambahan seperti yang ditunjukkan pada gambar berikut. Anda juga akan melihat URL ke akun DocumentDB Anda, yang dapat Anda gunakan sebagai titik akhir.

Kunci Otorisasi

Kunci otorisasi berisi kredensial Anda dan ada dua jenis kunci. Kunci master memungkinkan akses penuh ke semua sumber daya dalam akun, sementara token sumber daya mengizinkan akses terbatas ke sumber daya tertentu.

Kunci Master

  • Tidak ada yang tidak dapat Anda lakukan dengan kunci master. Anda dapat menghapus seluruh database Anda jika Anda mau, menggunakan kunci master.

  • Untuk alasan ini, Anda pasti tidak ingin membagikan kunci master atau mendistribusikannya ke lingkungan klien. Sebagai langkah keamanan tambahan, sebaiknya sering-seringlah mengubahnya.

  • Sebenarnya ada dua kunci master untuk setiap akun database, primer dan sekunder seperti yang disorot pada gambar di atas.

Token Sumber Daya

  • Anda juga dapat menggunakan token sumber daya sebagai ganti kunci master.

  • Koneksi berdasarkan token sumber daya hanya dapat mengakses sumber daya yang ditentukan oleh token dan tidak ada sumber daya lainnya.

  • Token sumber daya didasarkan pada izin pengguna, jadi pertama-tama Anda membuat satu atau beberapa pengguna, dan ini ditentukan di tingkat database.

  • Anda membuat satu atau beberapa izin untuk setiap pengguna, berdasarkan sumber daya yang ingin Anda izinkan untuk mengakses setiap pengguna.

  • Setiap izin menghasilkan token sumber daya yang memungkinkan akses hanya-baca atau akses penuh ke sumber daya yang diberikan dan itu bisa menjadi sumber daya pengguna apa pun dalam database.

Mari kita pergi ke aplikasi konsol yang dibuat di bab 3.

Step 1 - Tambahkan referensi berikut di file Program.cs.

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

Step 2- Sekarang tambahkan URL Endpoint dan kunci Otorisasi. Dalam contoh ini kami akan menggunakan kunci utama sebagai kunci Otorisasi.

Perhatikan bahwa dalam kasus Anda, URL Endpoint dan kunci otorisasi harus berbeda.

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

Step 3 - Buat instance baru DocumentClient dalam tugas asinkron bernama CreateDocumentClient dan buat instance DocumentClient baru.

Step 4 - Panggil tugas asinkron Anda dari metode Utama Anda.

Berikut adalah file Program.cs selengkapnya sejauh ini.

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

Dalam bab ini, kita telah mempelajari cara menghubungkan ke akun DocumentDB dan membuat instance kelas DocumentClient.