在本章中,我们将学习如何创建数据库.要使用Microsoft Azure DocumentDB,您必须拥有DocumentDB帐户,数据库,集合和文档.我们已经拥有一个DocumentDB帐户,现在要创建数据库我们有两个选项 :
Microsoft Azure Portal或
.Net SDK
使用Microsoft Azure门户为DocumentDB创建数据库
创建使用门户网站的数据库,以下是步骤.
步骤1 : 登录Azure门户,您将看到仪表板.
网站"/>
第2步 : 现在点击创建的DocumentDB帐户,您将看到详细信息,如以下屏幕截图所示.
第3步 : 选择Add Database选项并提供数据库的ID.
第4步 : 单击确定.
您可以看到数据库是添加.目前,它没有集合,但我们可以在以后添加集合,这些集合将存储我们的JSON文档.请注意,它同时具有ID和资源ID.
使用.Net SDK为DocumentDB创建数据库
使用.Net创建数据库SDK,以下是步骤.
第1步 : 从上一章打开Visual Studio中的控制台应用程序.
步骤2 : 通过创建新数据库对象来创建新数据库.要创建新数据库,我们只需要在CreateDatabase任务中分配我们设置为"mynewdb"的Id属性.
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分配给它的资源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 *******