For_each Azure 逻辑应用中的并发和变量干扰
For_each concurrency and variable interference in Azure Logic App
我有一个逻辑应用程序,它使用 For_each 遍历电子邮件附件并将它们保存到 Azure 文件容器。
根据某些情况,我希望附件以不同的名称或不同的路径存储,但for_each的默认并发性令人担忧;我在顶层设置了路径和文件名变量,并在满足条件时在循环中设置它们。
有没有办法确保这些变量在不将并发设置为 1 的情况下保持我在该迭代中设置的值?
它似乎在默认并发下工作正常,但我打算将并发设置为 1,直到我确定这些迭代是否会在设置变量方面相互干扰。
如果您要在 for-each 循环内更改变量值(并且可能也在同一循环中使用它),则应将并发设置为 1 以确保循环以顺序方式运行以避免竞争条件。
由于只能在顶层声明变量,因此在没有将并发性设置为 1 的情况下,这不会在某些情况下使用。考虑我们有 JSON 这个架构:
`[
{
[JSON Object]
}
]`
并且需要迭代每个内部以获得值并增加计数器,并且基于计数器我们有一些动作。在这种情况下,我们需要局部变量而不是全局变量。
我有一个逻辑应用程序,它使用 For_each 遍历电子邮件附件并将它们保存到 Azure 文件容器。
根据某些情况,我希望附件以不同的名称或不同的路径存储,但for_each的默认并发性令人担忧;我在顶层设置了路径和文件名变量,并在满足条件时在循环中设置它们。
有没有办法确保这些变量在不将并发设置为 1 的情况下保持我在该迭代中设置的值?
它似乎在默认并发下工作正常,但我打算将并发设置为 1,直到我确定这些迭代是否会在设置变量方面相互干扰。
如果您要在 for-each 循环内更改变量值(并且可能也在同一循环中使用它),则应将并发设置为 1 以确保循环以顺序方式运行以避免竞争条件。
由于只能在顶层声明变量,因此在没有将并发性设置为 1 的情况下,这不会在某些情况下使用。考虑我们有 JSON 这个架构:
`[
{
[JSON Object]
}
]`
并且需要迭代每个内部以获得值并增加计数器,并且基于计数器我们有一些动作。在这种情况下,我们需要局部变量而不是全局变量。