Azure Cosmos DB要求存储过程的分区键

问题描述 投票:4回答:2

我正在使用GUID Id作为我的分区键,当我尝试运行存储过程时,我遇到了问题。要运行存储过程,我需要提供分区密钥,我不确定在这种情况下我应该提供什么值?请协助。

azure azure-cosmosdb
2个回答
3
投票

如果注册存储过程的集合是单分区集合,则事务的范围限定为集合中的所有文档。如果集合是分区的,则存储过程在单个分区键的事务范围内执行。然后,每个存储过程执行必须包括与事务必须在其下运行的范围相对应的分区键值。

你可以参考上面提到的here的描述。

正如@Rafat Sarosh所说,GUID Id不是一个合适的partitioning key。根据您的情况,city可能更合适。您可能需要调整数据库partitioning scheme,因为在您定义分区键后无法删除或修改分区键。

我建议你exporting your datajson文件,然后import到一个新的集合,由city通过Azure Cosmos DB Data migration tool划分。

希望它能帮到你。


仅供参考:

问题:

执行sql查询文档时无法提供特定的分区键值。

解:

1.执行查询sql时将EnableCrossPartitionQuery设置为true。(有性能瓶颈)

2.考虑将频繁查询的字段设置为分区键。


-1
投票

请看一下这个视频https://youtu.be/F0wEDdxQER0?t=9m40s

请在此处阅读有关分区键的更多信息:https://docs.microsoft.com/en-us/azure/cosmos-db/partition-data

© www.soinside.com 2019 - 2024. All rights reserved.