Azure函数中具有多个输出的事务

Mar*_* S. 1 transactions azure azure-functions

在Azure函数中具有多个输出绑定时,我们应该如何处理事务,并且我必须保证已成功写入所有输出?运行时是否提供某种分布式事务处理,还是我必须自己构建一切?

例如,我具有对DocumentDb和Blob存储的绑定。由于某种原因,写入Blob存储失败。是否有可能回滚整个操作?

Mik*_*kov 5

运行时不提供多个输出之间的任何事务保证。如果第一个输出成功,然后第二个输出失败,则可能会导致状态不一致。

一种解决方法是对重试使用触发器类型(例如,服务总线),并使所有输出均等幂。