在Azure数据工厂的嵌套管道中访问元数据结果

在Azure数据工厂的嵌套管道中访问元数据结果,azure,foreach,azure-data-factory,Azure,Foreach,Azure Data Factory,我构建了一个从blob容器子文件夹raw/子文件夹读取元数据的管道。然后,我使用另一个get metadata任务执行foreach循环,以获取每个子文件夹的数据,它返回以下类型的数据/原始/子文件夹1/folder1、/raw/subfolder2/folder1、/raw/subfolder2/folder1等等。我需要另一个foreach循环来访问每个文件夹中的文件。问题是您不能在另一个foreach循环中运行foreach循环,因此我无法进一步迭代文件 我有一个executedatapi

我构建了一个从blob容器子文件夹raw/子文件夹读取元数据的管道。然后,我使用另一个get metadata任务执行foreach循环,以获取每个子文件夹的数据,它返回以下类型的数据/原始/子文件夹1/folder1、/raw/subfolder2/folder1、/raw/subfolder2/folder1等等。我需要另一个foreach循环来访问每个文件夹中的文件。问题是您不能在另一个foreach循环中运行foreach循环,因此我无法进一步迭代文件


我有一个executedatapipline,它调用上述管道,然后使用foreach。我的问题是,我没有找到将上面迭代中的item().name传递到新管道的方法。您似乎无法从上一个管道传入对象?我如何才能完成这个嵌套的foreach metat数据收集,以便进一步迭代我的文件?

您是否尝试过使用参数?下面是它的样子:

  • 在父管道中,单击“执行管道”活动,该活动将触发内部(新管道)转到设置,并将项目名称指定为参数“名称”。
  • 在内部管道中,单击空白处的任意位置并添加新参数“name”。
  • 现在可以像这样引用该参数:pipeline().parameters.name

  • 正如@Andrii所提到的,在这个场景中使用参数是有效的。 有关在活动之间传递参数的更多信息,请参阅此链接。

    尝试此操作时,我收到一个错误-{“errorCode”:“BadRequest”,“message”:“表达式'item().name'无法计算,因为无法选择属性'name',“failureType”:“UserError”,“target”:“ExecutePipeLineDetermineFileSize”,“details”:“}我在名称字段中添加了{item().name}和{item().child}在儿童领域。在从父管道执行的子管道中,参数:name设置为String,值为空;child设置为Array,值为空。不知道如何发布图片:(你所说的实际上在很大程度上是有效的,我所犯的错误是嵌套管道的方向。一旦我发现我能够正确地传递参数。我像你所说的那样创建了父级参数,然后在子级中调用这些参数以进入文件结构的下一级。此文档显示我知道如何在管道内使用参数。我在现有管道中有一些非常类似的东西。我从childItems的根文件夹获取元数据。然后我将这些信息传递到foreach循环以获取下一层的子项。我不能添加另一个foreach循环,这是不允许的。因此,我必须创建创建一个新管道,首先执行另一个管道,然后从另一个管道获取item和childitems,这样我就可以获取每个子文件夹的文件大小。该目录类似于rootfolder/directory/subdirectory/files。