我们正在尝试使用document触发器来生成自动减震器。为此,我们在集合中有一个特殊的文档来存储自动编号,然后通过调用此触发器来创建集合中的每个其他文档。触发器的行为方式如下-
1)从自动编号文档中读取最后使用的数字。2)将数字递增1,然后将增量值保存回自动编号文档3)创建一个新文档,将autoId字段设置为增量值,新文档字段的其余部分将传递到正文中。
await documentClient.CreateDocumentAsync("collectionURI", newDocument, new RequestOptions() { PreTriggerInclude = new List<string> {"autoNumbersTrigger"} });在我们的机器上本地运行document客户机时,我们测试了这一点,即使使用100 K的并行插入,我们的触发器也不会遇到并发问题。因此,问题是,这种行为有保证吗?可以肯定地说,所描述的触发行为永远不会遇到并发问题吗?
发布于 2017-11-07 01:41:21
您应该捕获(int)DocumentClientException.StatusCode == 449 (重试),它可以在对同一文档进行并发更新时返回。正如您已经注意到的,这是罕见的,即使在较高的写率。
https://stackoverflow.com/questions/47143929
复制相似问题