我有以下要求:两个应用程序实例通过检索属性为"status"="non processed“的文档来处理Cosmos DB集合文档。
以下是步骤:-读取属性为" status "="not Process“的文档-标记使用"status"="inprogress”检索的文档,以便相同的文档集不会被其他应用程序检索-处理应用程序中的文档,并将文档的状态更新为“已处理”
在SQL世界中,我们可以通过对选定的行应用rowlock并将status列更新为不会被其他应用程序拾取的值来完成此操作。我们如何在Cosmos DB中实现这一点?
谢谢
发布于 2020-03-15 09:52:40
AFAIK,这种功能在Azure Cosmos DB中不可用。两个应用程序都将能够读取该文档。
但是,您可以做的是防止一个应用程序覆盖其他应用程序所做的更改。这是通过在Cosmos DB中使用Optimistic Concurrency Control来完成的。
https://stackoverflow.com/questions/60688505
复制相似问题