问题描述
我注意到 ContainerProxy
的 cosmosdb
有一些包含 etag
和 match_condition
参数的方法,我理解这些参数用于乐观并发控制。但我不明白的一件事是为什么 create_item
也有 etag
和 match_condition
,请参阅链接 HERE。乐观并发控制的工作方式是我们从记录中检索 etag
并使用它来检查记录在更新过程中是否被更改。但是对于创建新记录,没有要检索的 etag
。我们如何在 etag
中真正使用 match_condition
和 create_item
?
解决方法
SDK 只是 Cosmos REST API 的一个很好的包装器。根据 REST API 描述,create a document 操作不使用 etag
,正如您所说,没有理由使用它。可能是为不同的操作编写可重用代码的剩余部分。