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

时间:2018-04-01 13:52:05

标签: azure transactions azure-functions

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

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

1 个答案:

答案 0 :(得分:4)

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

一种解决方法是使用带重试的触发器类型(例如Service Bus),并使所有输出都是幂等的。