【问题标题】:change itemname: "*" to parent folder of the file [Azure Data Factory]将 itemname: "*" 更改为文件的父文件夹 [Azure 数据工厂]
【发布时间】:2021-12-11 00:08:48
【问题描述】:

如何在Get MetaData函数中获取文件的文件夹名称。

作为项目名称,我将其作为结果“*”,因为我在源数据集的连接设置中有一个通配符。文件夹结构是这样的:项目/位置/文件,并且希望也传递位置。

是否可以像“/location/file.tdms”一样传递或在下一步迭代(ForEach)中传递位置?

【问题讨论】:

  • 您可以忽略数据集中的通配符。如果我们不提及文件或文件夹的任何值,它将带来所有文件夹或文件的详细信息。如果您的目标是从文件夹中复制文件,则不需要获取元数据活动。只需提及容器/文件夹/*,然后在源代码中添加其他列以使用 $$filepath 系统变量捕获文件路径。

标签: azure azure-data-factory


【解决方案1】:

您可以提供容器下的项目文件夹名称,如下所示,并使用Get Metadata 活动获取项目文件夹下的文件夹列表。

  1. Get Metadata活动的Field list下选择Child items以获取项目下的文件夹。

Get Metadata 的输出

  1. Get Metadata活动输出连接到ForEach活动以循环当前项并获取位置文件夹下的文件。

  1. ForEach中添加一个activity来处理当前ForEach项目的文件。这里作为示例,我使用另一个Get Metadata 活动来显示位置(Get Metadata1 的输出文件夹)下的文件列表。
  • 创建另一个位于同一容器/项目的源数据集,并参数化目录和文件名。

  1. Get Metadata2中,在directory参数中传入当前项名(Get Metadata1的输出文件夹名),在file_name参数中指定(*),获取文件列表归档列表作为子项

Get Metadata2 的输出:

【讨论】:

  • 感谢您的指导,这正是我想要的。
猜你喜欢
  • 2021-10-21
  • 2021-06-24
  • 2020-05-01
  • 2017-10-22
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
相关资源
最近更新 更多