DocumentDB - Utwórz bazę danych
W tym rozdziale nauczymy się, jak stworzyć bazę danych. Aby korzystać z Microsoft Azure DocumentDB, musisz mieć konto DocumentDB, bazę danych, kolekcję i dokumenty. Mamy już konto DocumentDB, teraz aby stworzyć bazę danych mamy dwie opcje -
- Witryna Microsoft Azure Portal lub
- .Net SDK
Utwórz bazę danych dla DocumentDB przy użyciu portalu Microsoft Azure
Aby utworzyć bazę danych za pomocą portalu, wykonaj następujące kroki.
Step 1 - Zaloguj się do Azure Portal, a zobaczysz pulpit nawigacyjny.
Step 2 - Teraz kliknij utworzone konto DocumentDB, a zobaczysz szczegóły, jak pokazano na poniższym zrzucie ekranu.
Step 3 - Wybierz opcję Dodaj bazę danych i podaj identyfikator swojej bazy danych.
Step 4 - Kliknij OK.
Widać, że baza danych została dodana. W tej chwili nie ma kolekcji, ale możemy dodać kolekcje później, które są kontenerami, w których będą przechowywane nasze dokumenty JSON. Zwróć uwagę, że ma zarówno identyfikator, jak i identyfikator zasobu.
Utwórz bazę danych dla DocumentDB przy użyciu .Net SDK
Aby utworzyć bazę danych za pomocą .Net SDK, wykonaj następujące kroki.
Step 1 - Otwórz aplikację konsolową w programie Visual Studio z poprzedniego rozdziału.
Step 2- Utwórz nową bazę danych, tworząc nowy obiekt bazy danych. Aby utworzyć nową bazę danych, musimy tylko przypisać właściwość Id, którą ustawiamy na „mynewdb” w zadaniu 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- Teraz przekaż tę databaseDefinition do CreateDatabaseAsync i uzyskaj wynik z właściwością Resource. Wszystkie metody obiektu create zwracają właściwość Resource, która opisuje utworzony element, którym w tym przypadku jest baza danych.
Otrzymujemy nowy obiekt bazy danych z właściwości Resource i jest on wyświetlany na konsoli wraz z identyfikatorem zasobu przypisanym do niego przez DocumentDB.
Step 4 - Teraz wywołaj zadanie CreateDatabase z zadania CreateDocumentClient po utworzeniu wystąpienia DocumentClient.
using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
await CreateDatabase(client);
}
Poniżej znajduje się jak dotąd pełny plik 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 *******");
}
}
}
Gdy powyższy kod zostanie skompilowany i wykonany, otrzymasz następujące dane wyjściowe zawierające identyfikatory bazy danych i zasobów.
******** Create Database *******
Database Id: mynewdb; Rid: ltpJAA==
******** Database Created *******