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

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

If the collection the stored procedure is registered against is a
single-partition collection, then the transaction is scoped to all the
documents within the collection. If the collection is partitioned,
then stored procedures are executed in the transaction scope of a
single partition key. Each stored procedure execution must then
include a partition key value corresponding to the scope the
transaction must run under.

您可以参考上面提到的here的描述.

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

我建议你exporting your data到json文件然后import到一个新的集合,由城市分区Azure Cosmos DB Data migration tool.

希望它能帮到你.

仅供参考:

问题:

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

解:

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

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

点赞