DocumentDB - Veritabanı Oluştur
Bu bölümde, nasıl veritabanı oluşturulacağını öğreneceğiz. Microsoft Azure DocumentDB'yi kullanmak için bir DocumentDB hesabına, veritabanına, koleksiyona ve belgelere sahip olmanız gerekir. Zaten bir DocumentDB hesabımız var, şimdi veritabanı oluşturmak için iki seçeneğimiz var -
- Microsoft Azure Portal veya
- .Net SDK
Microsoft Azure Portal'ı kullanarak DocumentDB için bir Veritabanı oluşturun
Portalı kullanarak bir veritabanı oluşturmak için aşağıdaki adımlar verilmiştir.
Step 1 - Azure portalına giriş yapın ve panoyu göreceksiniz.
Step 2 - Şimdi oluşturulan DocumentDB hesabına tıklayın ve aşağıdaki ekran görüntüsünde gösterildiği gibi ayrıntıları göreceksiniz.
Step 3 - Veritabanı Ekle seçeneğini seçin ve veritabanınız için kimlik girin.
Step 4 - Tamam'ı tıklayın.
Veritabanının eklendiğini görebilirsiniz. Şu anda koleksiyonu yok, ancak daha sonra JSON belgelerimizi depolayacak konteynerler olan koleksiyonları ekleyebiliriz. Hem bir kimliği hem de bir Kaynak Kimliği olduğuna dikkat edin.
.Net SDK Kullanarak DocumentDB için Veritabanı Oluşturma
.Net SDK kullanarak bir veritabanı oluşturmak için aşağıdaki adımlar verilmiştir.
Step 1 - Son bölümden Visual Studio'da Konsol Uygulamasını açın.
Step 2- Yeni bir veritabanı nesnesi oluşturarak yeni veritabanını oluşturun. Yeni bir veritabanı oluşturmak için, yalnızca CreateDatabase görevinde "mynewdb" olarak ayarladığımız Id özelliğini atamamız gerekir.
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- Şimdi bu databaseDefinition'ı CreateDatabaseAsync'e iletin ve Resource özelliğine sahip bir sonucu geri alın. Tüm nesne oluşturma yöntemleri, bu durumda bir veritabanı olan, oluşturulan öğeyi açıklayan bir Kaynak özelliği döndürür.
Yeni veritabanı nesnesini Resource özelliğinden alırız ve DocumentDB'nin kendisine atadığı Kaynak Kimliği ile birlikte Konsolda görüntülenir.
Step 4 - Şimdi DocumentClient başlatıldıktan sonra CreateDocumentClient görevinden CreateDatabase görevini çağırın.
using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
await CreateDatabase(client);
}
Şimdiye kadarki tam Program.cs dosyası aşağıdadır.
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 *******");
}
}
}
Yukarıdaki kod derlendiğinde ve yürütüldüğünde, Veritabanı ve Kaynak Kimliklerini içeren aşağıdaki çıktıyı alırsınız.
******** Create Database *******
Database Id: mynewdb; Rid: ltpJAA==
******** Database Created *******