DocumentDB-계정 연결
DocumentDB에 대한 프로그래밍을 시작할 때 첫 번째 단계는 연결하는 것입니다. 따라서 DocumentDB 계정에 연결하려면 두 가지가 필요합니다.
- Endpoint
- 인증 키
끝점
Endpoint는 DocumentDB 계정의 URL이며 DocumentDB 계정 이름을 .documents.azure.com과 결합하여 구성됩니다. 대시 보드로 이동하겠습니다.
이제 생성 된 DocumentDB 계정을 클릭합니다. 다음 이미지와 같이 세부 정보가 표시됩니다.
'키'옵션을 선택하면 다음 이미지와 같이 추가 정보가 표시됩니다. 끝점으로 사용할 수있는 DocumentDB 계정의 URL도 표시됩니다.
인증 키
인증 키에는 자격 증명이 포함되며 두 가지 유형의 키가 있습니다. 마스터 키는 계정 내의 모든 리소스에 대한 전체 액세스를 허용하는 반면 리소스 토큰은 특정 리소스에 대한 제한된 액세스를 허용합니다.
마스터 키
마스터 키로 할 수없는 것은 없습니다. 원하는 경우 마스터 키를 사용하여 전체 데이터베이스를 날려 버릴 수 있습니다.
따라서 마스터 키를 공유하거나 클라이언트 환경에 배포하고 싶지는 않습니다. 추가 보안 조치로 자주 변경하는 것이 좋습니다.
실제로 각 데이터베이스 계정에는 위 스크린 샷에 강조 표시된대로 기본 및 보조의 두 개의 마스터 키가 있습니다.
자원 토큰
마스터 키 대신 리소스 토큰을 사용할 수도 있습니다.
리소스 토큰을 기반으로하는 연결은 토큰으로 지정된 리소스에만 액세스 할 수 있으며 다른 리소스에는 액세스 할 수 없습니다.
리소스 토큰은 사용자 권한을 기반으로하므로 먼저 사용자를 한 명 이상 생성하면 데이터베이스 수준에서 정의됩니다.
각 사용자가 액세스 할 수 있도록 허용 할 리소스에 따라 각 사용자에 대해 하나 이상의 권한을 만듭니다.
각 권한은 주어진 리소스에 대한 읽기 전용 또는 전체 액세스를 허용하고 데이터베이스 내의 모든 사용자 리소스가 될 수있는 리소스 토큰을 생성합니다.
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 − CreateDocumentClient라는 비동기 작업에서 DocumentClient의 새 인스턴스를 만들고 새 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 클래스의 인스턴스를 만드는 방법을 배웠습니다.