- 文档数据库教程
- DocumentDB - 主页
- DocumentDB - 简介
- DocumentDB - 优点
- DocumentDB - 环境设置
- DocumentDB - 创建帐户
- DocumentDB - 连接帐户
- DocumentDB - 创建数据库
- DocumentDB - 列出数据库
- DocumentDB - 删除数据库
- DocumentDB - 创建集合
- DocumentDB - 删除集合
- DocumentDB - 插入文档
- DocumentDB - 查询文档
- DocumentDB - 更新文档
- DocumentDB - 删除文档
- DocumentDB - 数据建模
- DocumentDB - 数据类型
- DocumentDB - 限制记录
- DocumentDB - 记录排序
- DocumentDB - 索引记录
- DocumentDB - 地理空间数据
- DocumentDB - 分区
- DocumentDB - 数据迁移
- DocumentDB - 访问控制
- DocumentDB - 可视化数据
- DocumentDB 有用资源
- DocumentDB - 快速指南
- DocumentDB - 有用的资源
- DocumentDB - 讨论
DocumentDB - 创建数据库
在本章中,我们将学习如何创建数据库。要使用 Microsoft Azure DocumentDB,您必须拥有 DocumentDB 帐户、数据库、集合和文档。我们已经有一个 DocumentDB 帐户,现在要创建数据库,我们有两个选择 -
- Microsoft Azure 门户或
- .Net SDK
使用 Microsoft Azure 门户为 DocumentDB 创建数据库
要使用门户创建数据库,请执行以下步骤。
步骤 1 - 登录 Azure 门户,您将看到仪表板。
步骤 2 - 现在单击创建的 DocumentDB 帐户,您将看到详细信息,如以下屏幕截图所示。
步骤 3 - 选择“添加数据库”选项并提供数据库的 ID。
步骤 4 - 单击“确定”。
可以看到数据库已添加。目前,它没有集合,但我们可以稍后添加集合,它们是存储 JSON 文档的容器。请注意,它同时具有 ID 和资源 ID。
使用 .Net SDK 为 DocumentDB 创建数据库
要使用 .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 分配给它的资源 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 *******