你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure 数据工厂移动文件
适用于: Azure 数据工厂 Azure Synapse Analytics
提示
试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用!
对于在存储之间复制二进制文件的“移动”场景,ADF 复制活动提供了内置支持。 启用它的方法是在复制活动中将“deleteFilesAfterCompletion”设置为 true。 这样一来,复制活动就会在作业完成后从数据源存储中删除文件。
本文介绍了一种解决方案模板,它可作为另一种利用 ADF 灵活控制流以及复制活动和删除活动来实现相同场景的方法。 此模板的常见使用场景之一:不断地将文件放入源存储的登陆文件夹。 通过创建计划触发器,ADF 管道可以定期将这些文件从源存储移到目标存储。 ADF 管道实现“移动文件”的方式是从登陆文件夹中获取文件,将每个文件复制到目标存储中的另一个文件夹,然后从源存储中的登陆文件夹删除相同的文件。
注意
请注意,此模板旨在移动文件,而不是移动文件夹。 如果通过以下方式移动文件夹,则需要十分谨慎:更改数据集,使其仅包含文件夹路径,然后使用复制活动和删除活动引用表示某个文件夹的同一数据集。 因为必须确保在复制操作和删除操作之间不会有新文件进入文件夹。 如果在 Copy 活动刚完成复制作业,但 Delete 活动尚未开始时有新文件进入文件夹,则 Delete 活动可能将通过删除整个文件夹来删除尚未复制到目标的此新文件。
关于此解决方案模板
此模板从基于源文件的存储中获取文件。 然后,它将每个文件移到目标存储。
该模板包含五个活动:
- GetMetadata 获取对象列表,其中包括源存储上的文件夹中的文件和子文件夹。 它不会以递归方式检索对象。
- Filter 筛选 GetMetadata 活动中的对象列表,以仅选择文件。
- ForEach 获取 Filter 活动提供的文件列表,然后循环访问该列表并将每个文件传递到 Copy 活动和 Delete 活动。
- Copy 将源中的一个文件复制到目标存储。
- Delete 从源存储中删除同一个文件。
该模板定义了四个参数:
- SourceStore_Location 是要从中移动文件的源存储的文件夹路径。
- SourceStore_Directory 是要从中移动文件的源存储的子文件夹路径。
- DestinationStore_Location 是要将文件移到的目标存储的文件夹路径。
- DestinationStore_Directory 是要将文件移到的目标存储的子文件夹路径。
如何使用此解决方案模板
转到“移动文件”模板。 选择现有的连接,或者与要从中移动文件的源文件存储建立新的连接。 请注意,DataSource_Folder 和 DataSource_File 是对源文件存储的相同连接的引用。
选择现有的连接,或者与要将文件移到的目标文件存储建立新的连接。
选择“使用此模板”选项卡。
你将看到管道,如以下示例所示:
选择“调试”,输入“参数”,然后选择“完成”。 参数是要从中移动文件的文件夹路径,以及要将文件移到的文件夹路径。
查看结果。