Azure 数据工厂:带有batchCount 和item() 属性的foreach 循环

问题描述 投票:0回答:3

我有一个带有 ForEach 循环的数据工厂管道,其中有两项活动:一项是调用 HTTP 端点来检索文件,一项是将此文件存储到 Azure 存储帐户中。 我已将批次计数设置为 5,以便能够加快该过程。

我在 foreach 内的活动中使用“item()”属性。据我所知,当存在并行执行时,听起来 item() 属性不相关,因为同时存在混合执行,并且 item() 属性可以由 foreach 循环的另一个分支修改。 我正在寻找的是能够在“foreach”循环的第一步中读取 item() 值,将其存储到一个具有“foreach”当前循环范围的变量中,然后使用循环后期阶段的变量。 或者也许有更好的方法来管理我的用例,有什么想法吗?

foreach azure-data-factory
3个回答
0
投票

我认为唯一的解决方案是顺序执行遍历。在 ADF 中,变量由堆中的线程共享。任务的多线程执行无法手动控制。所以我们需要检查

Sequential
选项。


0
投票

我今天遇到了同样的问题,并且正在查看此处的答案。 我花了一些时间,但我能够解决这个问题。

假设 Table_Name 是我想要在 foreach 中循环的项目。

如果我将@item.Table_Name用于动态目的,那么它会让我遇到一个问题,即foreach循环的不同实例共享相同的值,这是错误的,并且之后会出现所有失败。

如果我添加一个设置变量任务作为 Foreach 循环中的第一步来捕获 @item.Table_Name 值,那么它会按预期工作。后来在其他步骤中,我能够在需要动态输入的所有不同位置使用 Table_Name 作为变量。

如快照所示,添加一个设置变量即可工作。


0
投票

如果我想为每个值传递 2 个值到我的内部,我们如何使用 variabe ?变量只能存储一个值,如果我给出 2 个变量,这又是 mss 与进一步的活动对齐,请针对这种情况给出任何解决方案

© www.soinside.com 2019 - 2024. All rights reserved.