Учебники

DocumentDB – Создать базу данных

В этой главе мы узнаем, как создать базу данных. Чтобы использовать Microsoft Azure DocumentDB, вы должны иметь учетную запись DocumentDB, базу данных, коллекцию и документы. У нас уже есть учетная запись DocumentDB, теперь для создания базы данных у нас есть два варианта:

  • Портал Microsoft Azure или
  • .Net SDK

Создайте базу данных для DocumentDB, используя портал Microsoft Azure.

Чтобы создать базу данных с использованием портала, выполните следующие действия.

Шаг 1. Войдите на портал Azure, и вы увидите панель управления.

Вход на портал

Шаг 2 – Теперь нажмите на созданную учетную запись DocumentDB, и вы увидите детали, как показано на следующем скриншоте.

нажмите на созданную DocumentDB

Шаг 3 – Выберите опцию Добавить базу данных и укажите идентификатор своей базы данных.

Выберите Добавить базу данных

Шаг 4 – Нажмите ОК.

База данных добавлена

Вы можете видеть, что база данных добавлена. На данный момент у него нет коллекции, но мы можем добавить коллекции позже, которые будут контейнерами для хранения наших документов JSON. Обратите внимание, что у него есть и идентификатор, и идентификатор ресурса.

Создание базы данных для DocumentDB с использованием .Net SDK

Чтобы создать базу данных с помощью .Net SDK, выполните следующие действия.

Шаг 1 – Откройте Консольное приложение в Visual Studio из последней главы.

Шаг 2 – Создайте новую базу данных, создав новый объект базы данных. Чтобы создать новую базу данных, нам нужно только назначить свойство Id, которое мы устанавливаем как «mynewdb» в задаче 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 *******"); 
} 

Шаг 3 – Теперь передайте это databaseDefinition в CreateDatabaseAsync и получите результат со свойством Resource. Все методы создания объекта возвращают свойство Resource, которое описывает созданный элемент, который в данном случае является базой данных.

Мы получаем новый объект базы данных из свойства Resource, и он отображается на консоли вместе с идентификатором ресурса, который ему назначен DocumentDB.

Шаг 4 – Теперь вызовите задачу CreateDatabase из задачи CreateDocumentClient после создания экземпляра DocumentClient.

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

Когда приведенный выше код скомпилирован и выполнен, вы получите следующий вывод, содержащий идентификаторы базы данных и ресурсов.