📅  最后修改于: 2020-11-28 13:43:34             🧑  作者: Mango
在本章中,我们将学习如何创建数据库。若要使用Microsoft Azure DocumentDB,您必须具有一个DocumentDB帐户,一个数据库,一个集合和文档。我们已经有一个DocumentDB帐户,现在要创建数据库,我们有两个选择-
要使用门户网站创建数据库,请执行以下步骤。
步骤1-登录到Azure门户,您将看到仪表板。
步骤2-现在单击创建的DocumentDB帐户,您将看到详细信息,如以下屏幕截图所示。
步骤3-选择添加数据库选项并提供数据库的ID。
步骤4-单击确定。
您可以看到数据库已添加。目前,它没有集合,但是我们可以稍后添加集合,这些集合将是存储JSON文档的容器。请注意,它同时具有ID和资源ID。
要使用.Net SDK创建数据库,请执行以下步骤。
步骤1-从上一章中的Visual Studio中打开控制台应用程序。
步骤2-通过创建新的数据库对象来创建新的数据库。要创建一个新数据库,我们只需要分配Id属性即可,在CreateDatabase任务中将其设置为“ mynewdb”。
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-现在将此数据库定义传递给CreateDatabaseAsync,并使用Resource属性返回结果。所有创建对象方法都返回一个Resource属性,该属性描述创建的项目,在本例中为数据库。
我们从Resource属性获得新的数据库对象,并将其与DocumentDB分配给它的Resource ID一起显示在控制台上。
步骤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 *******