开始通过 JavaScript 使用 Azure Cosmos DB for NoSQL

适用范围: NoSQL

本文介绍如何使用 JavaScript SDK 连接到 Azure Cosmos DB for NoSQL。 连接后,可对数据库、容器和项执行操作。

包 (npm) | 示例 | API 参考 | 库源代码 | 反馈

先决条件

设置本地项目

  1. 在 bash shell 中为 JavaScript 项目创建新目录。

    mkdir cosmos-db-nosql-javascript-samples && cd ./cosmos-db-nosql-javascript-samples
    
  2. 通过将 npm init 命令与控制台模板一起使用,创建一个新的 JavaScript 应用程序。

    npm init -y
    
  3. 安装 Azure Cosmos DB for NoSQL JavaScript SDK 所需的依赖项。

    npm install @azure/cosmos
    

连接到 Azure Cosmos DB for NoSQL

若要连接到 Azure Cosmos DB 的 API for NoSQL,请创建 CosmosClient 类的实例。 此类是针对数据库执行所有操作的起点。

若要使用 Microsoft Entra 连接到 NoSQL 帐户 的 API,请使用安全主体。 主体的确切类型将取决于应用程序代码的托管位置。 下表可用作快速参考指南。

应用程序的运行位置 安全主体
本地计算机(开发和测试) 用户标识或服务主体
Azure 托管标识
Azure 外部的服务器或客户端 服务主体

导入 @azure/identity

@azure/identity npm 包包含所有 Azure SDK 库之间共享的核心身份验证功能。

  1. 使用 npm install 命令导入 @azure/identity npm 包。

    npm install @azure/identity
    
  2. 在代码编辑器中,添加依赖项。

    const { DefaultAzureCredential } = require("@azure/identity");
    

使用默认凭据实现创建 CosmosClient

如果在本地计算机上进行测试,或者应用程序将在 Azure 服务上运行,并直接支持托管标识,则通过创建 DefaultAzureCredential 实例来获取 OAuth 令牌。 使用 COSMOS_ENDPOINT 环境变量和 TokenCredential 对象作为参数,创建 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 层次结构图(包括帐户、数据库、容器和项)。

顶部是显示 Azure Cosmos DB 帐户的层次结构示意图。 该帐户包含两个子数据库节点。 其中一个数据库节点包含两个子容器节点。 另一个数据库节点包含单个子容器节点。 该容器节点包含三个子项节点。

每种类型的资源由一个或多个关联的类表示。 下面列出了最常见的类:

说明
CosmosClient 此类为 Azure Cosmos DB 服务提供客户端逻辑表示。 此客户端对象用于对服务进行配置和执行请求。
Database 此类是对服务中可能存在或可能不存在的数据库的引用。 在尝试访问该数据库或对其执行操作时,会在服务器端验证该数据库。
Container 此类是对服务中可能不存在的容器的引用。 在尝试使用该容器时,会在服务器端对其进行验证。

以下指南介绍了如何使用上述每个类来生成应用程序。

指南 说明
创建数据库 创建数据库
创建容器 创建容器
创建和读取项 点读特定项
查询项 查询多个项

请参阅

后续步骤