【问题标题】:Get all files names in subfolders Azure Data factory获取子文件夹中的所有文件名 Azure 数据工厂
【发布时间】:2021-03-27 00:04:33
【问题描述】:

我在数据湖中有一个以下文件夹结构,我想从 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

【问题讨论】:

  • 嗨@Raju,如果我在答案中理解错误,请纠正我。

标签: azure azure-data-factory


【解决方案1】:

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

我创建的文件结构和你的一样。

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

  1. 这是管道的摘要。

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

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

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

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

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

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

【讨论】:

  • 在您使用@item().name 的第4 步中,这也会影响GetMetadata1 活动。这意味着当您运行管道时,它不允许您运行,因为它会引发错误。
猜你喜欢
  • 2021-06-24
  • 1970-01-01
  • 2021-01-01
  • 2021-01-16
  • 2023-02-03
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多