我最近开始在我们的项目中使用 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 端点以拉回每个分区的minInclusive
和maxExclusive
范围,但这些是哈希空间范围,我不知道如何将它们转换为分区键值,也不知道如何使用实际的 minInclusive 哈希进行扇出。
此外,在检索它们的时间和你对它们做某事的时间之间,pkranges可能会发生变化的可能性很小。