Azure Logic App中的For_each并发和可变干扰

时间:2018-01-31 14:45:48

标签: azure-logic-apps

我有一个逻辑应用程序,它使用For_each迭代电子邮件附件并将它们保存到Azure Files容器中。

根据某些条件,我希望附件以不同的名称或不同的路径存储,但for_each的默认并发性是关注的;我将路径和文件名变量设置在顶层,并且在条件满足时将它们设置在循环中。

有没有办法可以确保这些变量在不将并发设置为1的情况下保存该迭代中的值?

它似乎能正常使用默认并发,但我要将并发设置为1,直到我确定这些迭代是否会相互干扰设置变量。

2 个答案:

答案 0 :(得分:5)

如果要更改for-each循环内的变量值(并且可能也在同一循环中使用它),则应将并发设置为1以确保循环以顺序方式运行以避免竞争条件。

答案 1 :(得分:-1)

由于只能在顶层声明变量,因此在某些情况下,如果未将并发设置为1,则不会使用该变量。请考虑使用具有此模式的JSON:

`[
   {
    [JSON Object]
   }
 ]` 

,并且需要迭代每个内部以获取价值并增加计数器,并基于计数器执行一些操作。在这种情况下,我们需要使用局部变量而不是全局变量。