逻辑应用 - foreach循环非常慢

时间:2018-03-16 11:43:02

标签: azure azure-logic-apps

我注意到Azure Logic Apps中的循环(使用foreach)非常慢。作为一个例子,我已经遍历了包含8.000个JSON节点的http结果(总共1.6MB数据),并且处理大约需要6分钟,与在.Net应用程序中进行相比,这是一个非常长的时间。 这是测试的完成方式: Test logic app, in this test the JSON data comes from a blob

对我来说,循环一个结果集是一个常见的任务,如果它这么慢?你们中的任何人都知道在Logic Apps中解析和循环数据的更好方法吗?

1 个答案:

答案 0 :(得分:1)

它很慢的原因是因为循环的并发性默认为20,最大值为50.最好的方法是使用稍微不同的模式,在那里你要去另一个逻辑应用程序。例如,您将拥有一个生成要循环的数组的逻辑应用程序,然后创建另一个接受http请求作为触发器的逻辑应用程序。在设置下的第二个逻辑应用程序启用spliton功能。现在把你的工作放在'在第二个逻辑应用程序中,然后返回到第一个并进行最后一步将阵列发送到第二个逻辑应用程序。当使用这种模式时,第一个逻辑应用程序将为数组中的每个项初始化一个运行,它们将同时运行,而不是限于每个循环的并发性。以下是有关此功能的文档中的更多详细信息。 https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-actions-triggers#split-on-debatch