我最近开始在我们的项目中使用Azure Cosmos DB . 出于报告目的,我们需要获取集合中的所有分区键 . 我找不到任何合适的API来实现它 .
更新:根据Brian在下面的评论中,现在支持 DISTINCT . 尝试类似的东西:
DISTINCT
SELECT DISTINCT c.partitionKey FROM c
事先回答......
获取实际分区键值的唯一方法是在该字段上执行唯一聚合 . 但是,有一种相对简单的方法来获取分区键范围 . 据我所知,它不会直接在任何SDK中支持,但您可以直接在 https://{your endpoint domain}.documents.azure.com/dbs/{your collection's uri fragment}/pkranges 点击REST endpoints 以撤回每个分区的分区键的范围 . 请注意,下方是包含在内的,因此您可以使用它来自行扇出 .
https://{your endpoint domain}.documents.azure.com/dbs/{your collection's uri fragment}/pkranges
警告:pkranges很可能会在您检索它们的时间与您使用它们之间进行操作之间发生变化 . 要么接受这种微不足道的风险或围绕它的代码 .
1 回答
更新:根据Brian在下面的评论中,现在支持
DISTINCT
. 尝试类似的东西:事先回答......
获取实际分区键值的唯一方法是在该字段上执行唯一聚合 . 但是,有一种相对简单的方法来获取分区键范围 . 据我所知,它不会直接在任何SDK中支持,但您可以直接在
https://{your endpoint domain}.documents.azure.com/dbs/{your collection's uri fragment}/pkranges
点击REST endpoints 以撤回每个分区的分区键的范围 . 请注意,下方是包含在内的,因此您可以使用它来自行扇出 .警告:pkranges很可能会在您检索它们的时间与您使用它们之间进行操作之间发生变化 . 要么接受这种微不足道的风险或围绕它的代码 .