获取 Azure Cosmos DB 集合中的所有分区键



我最近开始在我们的项目中使用 Azure Cosmos DB。出于报告目的,我们需要获取集合中的所有分区键。我找不到任何合适的 API 来实现它。

更新:根据 Brian 在下面的评论中的说法,现在支持DISTINCT。尝试类似操作:

SELECT DISTINCT c.partitionKey FROM c

先前的答案:可以工作的想法,但一方面...

获取实际分区键值的唯一方法是对该字段执行唯一聚合。

您可以在https://{your endpoint domain}.documents.azure.com/dbs/{your collection's uri fragment}/pkranges直接命中 REST 端点以拉回每个分区的minInclusivemaxExclusive范围,但这些是哈希空间范围,我不知道如何将它们转换为分区键值,也不知道如何使用实际的 minInclusive 哈希进行扇出。

此外,在检索它们的时间和你对它们做某事的时间之间,pkranges可能会发生变化的可能性很小。

最新更新