- 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 - 讨论
DocumentDB - 连接账户
当您开始对 DocumentDB 进行编程时,第一步就是连接。因此,要连接到您的 DocumentDB 帐户,您需要两样东西:
- 端点
- 授权密钥
端点
端点是您 DocumentDB 帐户的 URL,它是通过将您的 DocumentDB 帐户名称与 .documents.azure.com 组合来构建的。让我们转到仪表板。
现在,点击创建的 DocumentDB 帐户。您将看到如下所示的详细信息。
当您选择“密钥”选项时,它将显示如下所示的其他信息。您还将看到 DocumentDB 帐户的 URL,您可以将其用作端点。
授权密钥
授权密钥包含您的凭据,并且有两种类型的密钥。主密钥允许完全访问帐户中的所有资源,而资源令牌允许对特定资源进行受限访问。
主密钥
使用主密钥,您几乎可以做任何事情。如果您愿意,可以使用主密钥删除整个数据库。
因此,您绝对不想共享主密钥或将其分发到客户端环境。作为一项额外的安全措施,最好经常更改它。
每个数据库帐户实际上有两个主密钥,即主密钥和辅助密钥,如上图所示。
资源令牌
您也可以使用资源令牌代替主密钥。
基于资源令牌的连接只能访问令牌指定的资源,而不能访问其他资源。
资源令牌基于用户权限,因此首先您创建一个或多个用户,这些用户是在数据库级别定义的。
您可以为每个用户创建一个或多个权限,这些权限基于您希望允许每个用户访问的资源。
每个权限都会生成一个资源令牌,该令牌允许对给定资源进行只读或完全访问,并且该资源可以是数据库中的任何用户资源。
让我们转到第 3 章中创建的控制台应用程序。
步骤 1 - 在 Program.cs 文件中添加以下引用。
using Microsoft.Azure.Documents; using Microsoft.Azure.Documents.Client; using Microsoft.Azure.Documents.Linq; using Newtonsoft.Json;
步骤 2 - 现在添加端点 URL 和授权密钥。在本例中,我们将使用主密钥作为授权密钥。
请注意,在您的情况下,端点 URL 和授权密钥都应该不同。
private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/"; private const string AuthorizationKey = "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";
步骤 3 - 在名为 CreateDocumentClient 的异步任务中创建一个 DocumentClient 的新实例,并实例化新的 DocumentClient。
步骤 4 - 从您的 Main 方法调用您的异步任务。
以下是迄今为止完整的 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 var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey); } } }
在本章中,我们学习了如何连接到 DocumentDB 帐户并创建 DocumentClient 类的实例。