你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何使用 JavaScript SDK 连接到 Azure Cosmos DB for NoSQL。 连接后,可以对数据库、容器和项目执行操作。
包 (npm) | API 参考 | 库源代码 | 提供反馈
先决条件
- 拥有有效订阅的 Azure 帐户。 免费创建帐户。
- Azure Cosmos DB for NoSQL 帐户。 为 NoSQL 帐户创建 API。
- Node.js LTS
- Azure 命令行接口 (CLI) 或 Azure PowerShell
设置本地项目
在 bash shell 中为 JavaScript 项目创建新目录。
mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples在
npm init模板中使用命令创建新的 JavaScript 应用程序。npm init -y安装 Azure Cosmos DB for NoSQL JavaScript SDK 所需的依赖项。
npm install @azure/cosmos
连接到 Azure Cosmos DB for NoSQL
若要连接到 Azure Cosmos DB 的 NoSQL API,请创建类的 CosmosClient 实例。 此类是针对数据库执行所有操作的起点。
若要使用 Microsoft Entra 连接到 NoSQL 帐户 的 API,请使用安全主体。 主体的确切类型将取决于应用程序代码的托管位置。 下表可用作快速参考指南。
| 应用程序的运行位置 | 安全主体 |
|---|---|
| 本地计算机(开发和测试) | 用户标识或服务主体 |
| 蔚蓝 | 托管标识 |
| Azure 外部的服务器或客户端 | 服务主体 |
导入 @azure/identity
@azure/identity npm 包包含在所有 Azure SDK 库之间共享的核心身份验证功能。
-
npm install @azure/identity 在代码编辑器中,添加依赖项。
const { DefaultAzureCredential } = require("@azure/identity");
使用默认凭据实现创建 CosmosClient
如果在本地计算机上进行测试,或者应用程序将在 Azure 服务上运行,并直接支持托管标识,则通过创建 DefaultAzureCredential 实例来获取 OAuth 令牌。 然后,使用环境变量和 COSMOS_ENDPOINT 对象作为参数创建 CosmosClient 类的新实例。
const { CosmosClient } = require("@azure/cosmos");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const cosmosClient = new CosmosClient({
endpoint,
aadCredentials: credential
});
生成应用程序
在生成应用程序时,代码主要与四种类型的资源交互:
API for NoSQL 帐户,它是 Azure Cosmos DB 数据的唯一顶级命名空间。
数据库,它用于组织帐户中的容器。
容器,它包含数据库中的一组单个项。
项,它表示容器中的 JSON 文档。
下图显示了这些资源之间的关系。
顶部是显示 Azure Cosmos DB 帐户的层次结构示意图。 该帐户包含两个子数据库节点。 其中一个数据库节点包含两个子容器节点。 另一个数据库节点包含单个子容器节点。 该容器节点包含三个子项节点。
每种类型的资源都由一个或多个关联的类表示。 下面是最常见的类的列表:
| Class | Description |
|---|---|
CosmosClient |
此类为 Azure Cosmos DB 服务提供客户端逻辑表示。 此客户端对象用于对服务进行配置和执行请求。 |
Database |
此类是对服务中可能存在或可能不存在的数据库的引用。 当您尝试访问数据库或对其执行操作时,将在服务器端验证该数据库。 |
Container |
此类是对服务中可能尚不存在的容器的引用。 尝试使用容器时,会在服务器端验证容器。 |
以下指南介绍了如何使用上述每个类来生成应用程序。
| Guide | Description |
|---|---|
| 创建数据库 | 创建数据库 |
| 创建容器 | 创建容器 |
| 创建和读取项 | 点读特定项 |
| 查询项 | 查询多个条目 |