查找 Azure Cosmos DB Gremlin API 中执行的操作的请求单位费用

适用于: Gremlin API

Azure Cosmos DB 支持多种 API,例如 SQL、MongoDB、Cassandra、Gremlin 和表。 每个 API 具有自身的数据库操作集。 这些操作包括简单的点读取和写入,以及复杂的查询等等。 每个数据库操作根据其复杂性消耗系统资源。

所有数据库操作的成本将由 Azure Cosmos DB 规范化,并以“请求单位”(简称 RU)表示。 请求费用是所有数据库操作使用的请求单位。 你可以将 RU 视为性能货币,它抽象化了执行 Azure Cosmos DB 支持的数据库操作所需的系统资源,例如 CPU、IOPS 和内存。 不管使用哪个 API 来与 Azure Cosmos 容器和数据库操作交互,都始终以 RU 来计量成本。 无论数据库操作是写入、点读取还是查询,都始终以 RU 来计量成本。 若要了解详细信息,请参阅请求单位及其注意事项一文。

本文介绍如何通过不同的方式来查找针对 Azure Cosmos DB Gremlin API 中的容器执行的任何操作所消耗的请求单位 (RU)。 如果你使用的是其他 API,请参阅 API for MongoDBCassandra APISQL API表 API 这几篇文章来查找 RU/秒费用。

Gremlin API 返回的标头将映射到目前由 Gremlin .NET 和 Java SDK 公开的自定义状态特性。 请求费用显示在 x-ms-request-charge 键下。 使用 Gremlin API 时,可以通过多个选项来查找针对 Azure Cosmos 容器执行的操作所消耗的 RU。

使用 Azure 门户

  1. 登录到 Azure 门户

  2. 创建新的 Azure Cosmos 帐户并在其中植入数据,或选择一个已包含数据的现有帐户。

  3. 转到“数据资源管理器”窗格,然后选择要处理的容器。

  4. 输入有效的查询,然后选择“执行 Gremlin 查询”。

  5. 选择“查询统计信息”,以显示执行的请求的实际请求费用。

在 Azure 门户中获取 Gremlin 查询请求费用的屏幕截图

使用 .NET SDK 驱动程序

使用 Gremlin .NET SDK 时,状态特性将显示在 ResultSet<> 对象的 StatusAttributes 属性下:

ResultSet<dynamic> results = client.SubmitAsync<dynamic>("g.V().count()").Result;
double requestCharge = (double)results.StatusAttributes["x-ms-request-charge"];

有关详细信息,请参阅快速入门:使用 Azure Cosmos DB Gremlin API 帐户生成 .NET Framework 或 Core 应用程序

使用 Java SDK 驱动程序

使用 Gremlin Java SDK 时,可以通过对 ResultSet 对象调用 statusAttributes() 方法来检索状态特性:

ResultSet results = client.submit("g.V().count()");
Double requestCharge = (Double)results.statusAttributes().get().get("x-ms-request-charge");

有关详细信息,请参阅快速入门:使用 Java SDK 在 Azure Cosmos DB 中创建图形数据库

后续步骤

若要了解如何优化 RU 消耗量,请参阅以下文章: