如何管理并发输出绑定的Cosmos DB在azure功能?



我有一个函数应用程序,它有2个函数,Function1这是一个HTTPTrigger函数,当HTTP调用被击中时运行,然后将有效载荷发送到服务总线并完成其执行。

另一个函数Function2在服务总线队列中发布时运行,然后检查CosmosDB中的相应数据,如果它已经存在,则更新其中的一些键,否则,它将在数据库中创建一个新文档。

我面临的问题是,如果在HTTPTrigger函数上发出2个请求,那么只有其中一个被执行,我想检查是否有一种方法可以在CosmosDB操作中寻找并发性。

通过输出绑定对cosmosDB进行更新操作。

context.bindings.outputDocument = updatedDocument

输出绑定只执行一个Upsert操作。如果你插入相同的文档(相同的id和分区键值)两次,它仍然是一个文档(第一Upsert创建文档,第二插入更新)。

并发性是基于触发器和它们如何执行的,在你的例子中,它取决于HTTP触发器和它如何处理并发请求。Upsert是顺序的还是并发的,但从输出绑定的角度来看,这并不重要,每个都是一个独立的Upsert调用。

最新更新