Azure Cosmos DB for MongoDB vCore 的数据 API(预览版)

Azure Cosmos DB for MongoDB vCore 的数据 API 是一个 https 接口,该接口允许开发人员无需数据库驱动程序即可访问其 MongoDB vCore 数据并与之交互。 它通过 HTTP 请求启用 CRUD 和聚合操作来简化数据操作。 该 API 非常适合 Web 应用程序,能够提供对 MongoDB vCore 数据库的安全且可缩放的访问。

在 MongoDB vCore 上启用数据 API

可以使用 Azure CLI 或 ARM 模板启用或禁用此功能。 我们即将添加门户支持。

通过 ARM 模板在 vCore 群集上启用数据 API 的步骤

  1. 获取连接字符串

    • 从 Azure 门户获取 vCore 群集的连接字符串。
  2. 检索身份验证令牌

    • 在 Windows PowerShell 中,请运行以下命令:
      az login
      az account get-access-token --resource-type arm
      
  3. 发送 PATCH 请求

    • 使用 Azure 门户中的连接字符串,并使用以下命令发送 PATCH 请求:
      • 身份验证令牌:使用从 PowerShell 检索到的令牌。
      • 正文
        {
          "properties": {
            "dataApi": {
              "mode": "Enabled"
            }
          }
        }
        
  4. 验证结果

    • 确保响应有效负载包括 "dataApi": {"mode": "Enabled"}
    • 如果遇到错误“此群集不支持数据 API”,请注意,仅新预配的群集支持数据 API。

更新 MongoDB vCore 群集配置

请求

方法PATCH
终结点: https://chinanorth3.management.chinacloudapi.cn/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.DocumentDB/mongoClusters/<ClusterName>?api-version=2024-10-01-preview

请求正文

{
  "properties": {
    "dataApi": {
      "mode": "Enabled"
    }
  }
}

获取连接字符串

若要获取 MongoDB vCore 群集的连接字符串,请按照以下步骤进行操作:

  1. 导航到创建的“MongoDB vCore 群集”
  2. 转到“设置”,然后选择“连接字符串”
  3. 复制提供的“数据 API 终结点”

如何使用数据 API

下面我们来探讨受支持的操作,即如何使用数据 API。

聚合

使用此命令对集合执行聚合操作。

curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/aggregate -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database": "newDB", "collection": "newCollection", "pipeline": [{"$limit": 500}]}'

列出数据库

列出指定 MongoDB vCore 群集中的所有数据库。

curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/listDatabases -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{}'

列出集合

列出特定数据库中的所有集合。

curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/listCollections -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database": "newDB"}'

获取架构

检索特定数据库的架构详细信息。

下面是 .md 文件的格式化版本:

curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/getSchema -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database": "newDB"}'

限制

  • 数据 API 适用于新创建的 MongoDB vCore 群集。
  • 数据 API 不支持使用可重复使用的访问令牌进行访问。
  • 仅支持聚合和其他几个列表控制平面操作。