DocumentDB - Tạo cơ sở dữ liệu

Trong chương này, chúng ta sẽ học cách tạo cơ sở dữ liệu. Để sử dụng Microsoft Azure DocumentDB, bạn phải có tài khoản DocumentDB, cơ sở dữ liệu, bộ sưu tập và tài liệu. Chúng tôi đã có tài khoản DocumentDB, bây giờ để tạo cơ sở dữ liệu, chúng tôi có hai tùy chọn:

  • Cổng Microsoft Azure hoặc
  • .Net SDK

Tạo cơ sở dữ liệu cho DocumentDB bằng Microsoft Azure Portal

Để tạo cơ sở dữ liệu bằng cách sử dụng cổng thông tin, sau đây là các bước.

Step 1 - Đăng nhập vào cổng Azure và bạn sẽ thấy bảng điều khiển.

Step 2 - Bây giờ hãy nhấp vào tài khoản DocumentDB đã tạo và bạn sẽ thấy các chi tiết như được hiển thị trong ảnh chụp màn hình sau.

Step 3 - Chọn tùy chọn Thêm cơ sở dữ liệu và cung cấp ID cho cơ sở dữ liệu của bạn.

Step 4 - Bấm OK.

Bạn có thể thấy rằng cơ sở dữ liệu đã được thêm vào. Hiện tại, nó không có bộ sưu tập, nhưng chúng tôi có thể thêm các bộ sưu tập sau đó là các bộ chứa sẽ lưu trữ các tài liệu JSON của chúng tôi. Lưu ý rằng nó có cả ID và ID tài nguyên.

Tạo cơ sở dữ liệu cho DocumentDB bằng .Net SDK

Để tạo cơ sở dữ liệu bằng .Net SDK, sau đây là các bước.

Step 1 - Mở Ứng dụng Bảng điều khiển trong Visual Studio từ chương cuối cùng.

Step 2- Tạo cơ sở dữ liệu mới bằng cách tạo một đối tượng cơ sở dữ liệu mới. Để tạo cơ sở dữ liệu mới, chúng ta chỉ cần gán thuộc tính Id, thuộc tính mà chúng ta đang đặt thành “mynewdb” trong tác vụ CreateDatabase.

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- Bây giờ chuyển databaseDefinition này sang CreateDatabaseAsync và nhận lại kết quả với thuộc tính Resource. Tất cả các phương thức đối tượng tạo trả về thuộc tính Tài nguyên mô tả mục đã được tạo, là cơ sở dữ liệu trong trường hợp này.

Chúng tôi lấy đối tượng cơ sở dữ liệu mới từ thuộc tính Tài nguyên và nó được hiển thị trên Bảng điều khiển cùng với ID tài nguyên mà DocumentDB đã gán cho nó.

Step 4 - Bây giờ gọi tác vụ CreateDatabase từ tác vụ CreateDocumentClient sau khi DocumentClient được khởi tạo.

using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) { 
   await CreateDatabase(client); 
}

Sau đây là tệp Program.cs hoàn chỉnh cho đến nay.

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

Khi đoạn mã trên được biên dịch và thực thi, bạn sẽ nhận được kết quả sau chứa ID cơ sở dữ liệu và tài nguyên.

******** Create Database ******* 
 Database Id: mynewdb; Rid: ltpJAA== 
******** Database Created *******