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

Kum*_*mar 3 azure azure-data-factory

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

父文件夹 > 年=2020 文件夹

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

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

          2020-10-22Folder > 2020-10-22.csv
Run Code Online (Sandbox Code Playgroud)

Jos*_* Xu 8

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

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

在此输入图像描述

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

在此输入图像描述

  1. 这是管道的摘要。

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

在此输入图像描述

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

在此输入图像描述

  1. 到底。我们可以定义另一个数组类型变量来存储和查看结果。

在此输入图像描述

输出我们可以看到数组。

在此输入图像描述