我使用GUID Id作为我的分区键,当我尝试运行存储过程时遇到问题。要运行存储过程,我需要提供分区密钥,我不确定在这种情况下我应该提供什么值?请协助。
答案 0 :(得分:1)
如果存储过程注册的集合是a 单分区集合,然后将事务范围限定为所有 集合中的文档。如果集合是分区的, 然后存储过程在a的事务范围内执行 单分区键。然后必须执行每个存储过程 包括对应于范围的分区键值 交易必须在。
下运行
您可以参考上面提到here的说明。
正如@Rafat Sarosh所说,GUID Id
不合适partitioning key
。根据您的情况,city
可能更合适。您可能需要调整数据库partitioning scheme
,因为在您定义分区键后无法删除或修改分区键。
我建议您exporting your data将json
文件import提交到city
通过Azure Cosmos DB Data migration tool分区的新馆藏。
希望它对你有所帮助。
仅供参考:
<强> 问题: 强>
执行sql查询文档时无法提供特定的分区键值。
<强>解决方案:强>
1.执行查询sql时将EnableCrossPartitionQuery
设置为true
。(有性能瓶颈)
2.考虑将经常查询的字段设置为分区键。
答案 1 :(得分:0)
请看一下这个视频 https://youtu.be/F0wEDdxQER0?t=9m40s
请在此处详细了解分区键:https://docs.microsoft.com/en-us/azure/cosmos-db/partition-data
答案 2 :(得分:0)
示例您的分区键是/ id
您的波斯菊文档是
{
"id" : abcde
}
运行存储过程时,需要粘贴:abcde值
因此,如果您希望存储过程运行跨分区,则不能 宇宙团队的回答 https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/33550159-support-stored-procedure-execution-over-all-partit