首页 > 解决方案 > 如何使用 adf 重命名文件,因为它们从 blob 存储复制到数据湖

问题描述

我正在执行从 blob 存储到 Gen2 数据湖存储的复制活动。正常的复制活动复制所有内容而不进行扩展。我希望这些文件名用“filename.extension”重命名。我怎样才能做到这一点?

标签: azure-data-factoryazure-data-factory-2

解决方案


是的,我们可以在复制活动期间重命名这些文件名。但是我们需要使用 GetMetadata 活动和 ForEach 活动,并且在 ForEach 活动中我们执行复制活动。

这是我为实现这一目标所做的。

  1. 首先,我们可以使用Child itemsGetMetadata 活动来获取源文件列表。 在此处输入图像描述

  2. 在 ForEach 活动中,我们可以使用@activity('Get Metadata1').output.childItemsforeach 源文件列表。 在此处输入图像描述

  3. 在 ForEach 活动中,我们可以设置一个 Copy 活动并使用表达式@item().name从源文件列表中获取一个文件。 在此处输入图像描述

  4. 然后在 sink 数据集中,点击Open: 我们可以在这里添加动态内容,这里我使用表达式 重命名文件名。 在此处输入图像描述
    @concat('20201110-',item().name)在此处输入图像描述

  5. 运行调试后,我们可以看到文件名已经按照规则重命名了。 在此处输入图像描述


推荐阅读