【问题标题】:How to get the usage size for each partition of Azure Cosmos DB?如何获取 Azure Cosmos DB 的每个分区的使用量大小?
【发布时间】:2022-01-09 13:14:27
【问题描述】:

如何获取 Azure Cosmos DB 的每个分区的使用量大小?

我想获取 Cosmos DB 的每个分区的使用大小。

我根据以下站点运行了 Rest API,但出现以下错误。

curl -X GET -L -H "Content-Type: application / json" -H "Authorization: Bearer xxxx" https://{account}.documents.azure.com/dbs/{db}/colls/ {collection}

{"code": "BadRequest", "message": "无效的 API 版本。确保传递了有效的 x-ms-version 标头值。请更新到最新版本的 Azure Cosmos DB SDK。\r\nActivityId : 9993e774- 4b66-4ba0-b71b-2f4ad0edc754, Microsoft.Azure.Documents.Common/2.14.0 "}

https://docs.microsoft.com/en-us/azure/cosmos-db/monitor-cosmos-db

我正在尝试使用 Azure Java Cosmos SDK v4 获取分区大小,但我没有 SDK v2 中的以下类,所以我不知道在 v4 中使用哪个类。

https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.documentdb.partitionkeystatistics?view=azure-java-stable

谁能给我一些建议?

【问题讨论】:

  • 附注:如果您发送 GET,则不需要 Content-Type 标头,但您可能需要 Accept 标头。所以改成-H "Accept: application/json"
  • 它在抱怨,因为您没有填写 x-ms-version 标题。所以你想添加另一个-H 参数。它看起来像:-H "x-ms-version: 4.0.0"。我不知道版本号应该格式化为什么。你必须查一下。

标签: java azure azure-cosmosdb


【解决方案1】:

谢谢Andy。发布您的建议作为帮助其他社区成员的答案。

如果您要发送 GET,则不需要 Content-Type 标头,但您可能需要 Accept 标头。所以改成-H "Accept: application/json"

{"code": "BadRequest", "message": "Invalid API version. Ensure a valid x-ms-version header value is passed. Please update to the latest version of Azure Cosmos DB SDK.

要修复上述错误,您可以尝试将最新的x-ms-version 添加为-H "x-ms-version: 2018-12-31"

可以参考Supported REST API Versions

或者,你可以使用 Azure Monitor 和 Log Analytics 来查询分区的大小,参考How to find the size of logical partition in a Cosmos container

如果还有疑问,可以在 GitHub 上开一个 issue:azure-sdk-for-java

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多