是否可以限制插入操作的comosdb触发器?

b1zrtrql  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(360)

我有一个条件,我应该更新宇宙数据库内的状态,但我有一个宇宙数据库容器触发器。这意味着,如果我更新/插入状态,触发器将被触发(因为容器将改变),它将导致无限循环。请问有什么办法可以解决这个问题吗?

cbeh67ev

cbeh67ev1#

如果您是指cosmos db中的预触发器或后触发器,则不会导致无限循环。因为它们需要用代码调用,如下所示: RequestOptions requestOptions = new RequestOptions(); requestOptions.setPostTriggerInclude(Arrays.asList("trgPostUpdateMetadata")); asyncClient.createDocument(containerLink, item, requestOptions, false).toBlocking(); 如果更新/插入作业状态 requestOptions.setPostTriggerInclude(Arrays.asList("trgPostUpdateMetadata")); ,将不会调用触发器。
如果你是指azure函数中的azure cosmos db,只需禁用它,然后更新/插入作业状态。

7fyelxc5

7fyelxc52#

如果你指的是azure函数的cosmos db触发器,则不是,目前无法区分插入和更新事件。
如果您有一个createdtime属性,您可以检查它是否与文档时间戳(属性)匹配,但不能说明事件的原始操作,这是可能的。

相关问题