DocumentDB-데이터베이스 만들기
이 장에서는 데이터베이스를 만드는 방법을 배웁니다. Microsoft Azure DocumentDB를 사용하려면 DocumentDB 계정, 데이터베이스, 컬렉션 및 문서가 있어야합니다. 이미 DocumentDB 계정이 있습니다. 이제 데이터베이스를 만들려면 두 가지 옵션이 있습니다.
- Microsoft Azure 포털 또는
- .Net SDK
Microsoft Azure Portal을 사용하여 DocumentDB 용 데이터베이스 만들기
포털을 사용하여 데이터베이스를 생성하는 단계는 다음과 같습니다.
Step 1 − Azure Portal에 로그인하면 대시 보드가 표시됩니다.
Step 2 − 이제 생성 된 DocumentDB 계정을 클릭하면 다음 스크린 샷과 같은 세부 정보가 표시됩니다.
Step 3 − 데이터베이스 추가 옵션을 선택하고 데이터베이스의 ID를 제공하십시오.
Step 4 − 확인을 클릭합니다.
데이터베이스가 추가 된 것을 볼 수 있습니다. 현재는 컬렉션이 없지만 나중에 JSON 문서를 저장할 컨테이너 인 컬렉션을 추가 할 수 있습니다. ID와 리소스 ID가 모두 있습니다.
.Net SDK를 사용하여 DocumentDB 용 데이터베이스 만들기
.Net SDK를 사용하여 데이터베이스를 생성하는 단계는 다음과 같습니다.
Step 1 − 마지막 장에서 Visual Studio에서 콘솔 응용 프로그램을 엽니 다.
Step 2− 새로운 데이터베이스 개체를 생성하여 새로운 데이터베이스를 생성합니다. 새 데이터베이스를 만들려면 CreateDatabase 작업에서 "mynewdb"로 설정하는 Id 속성 만 할당하면됩니다.
private async static Task CreateDatabase(DocumentClient client) {
Console.WriteLine();
Console.WriteLine("******** Create Database *******");
var databaseDefinition = new Database { Id = "mynewdb" };
var result = await client.CreateDatabaseAsync(databaseDefinition);
var database = result.Resource;
Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId);
Console.WriteLine("******** Database Created *******");
}
Step 3− 이제이 databaseDefinition을 CreateDatabaseAsync에 전달하고 Resource 속성으로 결과를 반환합니다. 모든 create object 메서드는 생성 된 항목을 설명하는 Resource 속성 (이 경우 데이터베이스)을 반환합니다.
Resource 속성에서 새 데이터베이스 개체를 가져 오면 DocumentDB가 할당 한 리소스 ID와 함께 콘솔에 표시됩니다.
Step 4 − 이제 DocumentClient를 인스턴스화 한 후 CreateDocumentClient 작업에서 CreateDatabase 작업을 호출합니다.
using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
await CreateDatabase(client);
}
다음은 지금까지의 완전한 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
using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
await CreateDatabase(client);
}
}
private async static Task CreateDatabase(DocumentClient client) {
Console.WriteLine();
Console.WriteLine("******** Create Database *******");
var databaseDefinition = new Database { Id = "mynewdb" };
var result = await client.CreateDatabaseAsync(databaseDefinition);
var database = result.Resource;
Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId);
Console.WriteLine("******** Database Created *******");
}
}
}
위의 코드가 컴파일되고 실행되면 데이터베이스 및 리소스 ID가 포함 된 다음 출력이 표시됩니다.
******** Create Database *******
Database Id: mynewdb; Rid: ltpJAA==
******** Database Created *******