获取子文件夹Azure数据工厂中的所有文件名

时间:2020-10-23 16:48:18

标签: azure azure-data-factory

我在Data湖中有一个下面的文件夹结构,我想从ParentFolder目录的所有子文件夹中获取所有.csv文件名。我所有的文件都是.csv文件,有没有一种使用Metadata活动的简单方法。

ParentFolder>年= 2020文件夹

          2020-10-20Folder > 2020-10-20.csv

          2020-10-21Folder > 2020-10-21.csv

          2020-10-22Folder > 2020-10-22.csv

1 个答案:

答案 0 :(得分:0)

我已经进行了测试,以成功获取文件名。

我创建了与您相同的文件结构。

enter image description here

  1. 在ADF中,我们可以定义一个Array类型变量,以便以后存储文件名。

enter image description here

  1. 这是管道的摘要。

enter image description here

在GetMetaData1活动中,让我们定义根文件夹2020Folder的数据集。然后,我们使用Child Items来获取所有子文件夹。

enter image description here

  1. 在ForEach1活动中,我们可以使用表达式@activity('Get Metadata1').output.childItems列出文件夹列表。

enter image description here

  1. 在ForEach1活动中,我们可以添加动态内容@item().name,以将子文件夹名称传递给GetMetadata2活动。然后,我们可以使用GetMetadata2活动从子文件夹获取Child Items

enter image description here

enter image description here

  1. 在Append变量活动中,我们可以使用之前定义的数组变量 FileNames 来存储所有文件名。在这里,我们使用表达式@activity('Get Metadata2').output.childItems[0]来获取文件名。

enter image description here

  1. 最后。我们可以定义另一个Array类型变量来存储和查看结果。

enter image description here

我们可以看到数组的输出。

enter image description here