我正在尝试使用 ForEach 活动在 azure ADF 中获取包含子文件夹的目录。在活动中,我正在调用 GetMetaData 活动来获取设置变量活动来执行索引值。请帮助我,如何在管道表达式生成器中处理。请在下面找到我的管道顺序。
setVariable -->Lookup(db connect)-->forEach(inside) --> 获取元数据-->setVariable.
在 Set Variable 中,我们试图循环 getmetadata 但总是获取第一个索引,我们如何动态地进行。
表达式生成器代码:
@activity('GetParentFolderMetadata').output.childItems[0]['name']
如果我给出上面的一个表达式,它总是取第一条记录,我们如何获得所有索引。
为了达到您的要求,您需要两个 For Each 活动。一个迭代查找输出,另一个迭代每个获取元数据活动输出数组。
但是ADF不支持嵌套的ForEach。因此,在第一个 ForEach 中使用执行管道活动,您可以在子管道中使用另一个 ForEach。
我给了
@item()
这是一个文件夹名称来获取元数据活动。
现在创建执行活动并在子管道内创建一个数组参数。将获取元数据活动输出
@activity('Get Metadata1').output.childItems
给这个参数。
在子管道内部使用另一个 ForEach 并将此参数传递给它。
现在,您可以将每个文件名
@item().name
存储到这个 ForEach 中的一个设置变量中,然后根据您的要求使用它。
我在执行管道的一次迭代中的结果: