如何在Azure Data Factory中复制动态日期命名的HTTP文件至ABS并解压?
如何在Azure Data Factory中实现带动态日期的HTTP文件复制与解压(无代码)
完全可以通过ADF的内置功能实现这个需求,无需编写代码,具体步骤如下:
1. 配置动态日期参数
- 在ADF管道中创建一个字符串类型的参数(比如命名为
TargetDate),格式指定为yyyy-MM-dd。 - 若需自动匹配当前日期,可直接使用表达式生成:
formatDateTime(utcNow(), 'yyyy-MM-dd');若需指定特定日期,可通过手动输入或触发器传递参数值。
2. 配置HTTP数据源
- 创建HTTP链接服务,指向目标文件所在的域名(如
http://www.example.com)。 - 在复制活动的源数据集中,将文件路径设置为动态表达式:
结合链接服务的基础URL,最终会自动生成完整的目标文件地址(如@concat('files/', pipeline().parameters.TargetDate, '.zip')http://www.example.com/files/2022-12-13.zip)。
3. 配置Azure Blob Storage目标
- 创建ABS链接服务,关联你的存储账户。
- 目标数据集选择Blob类型,指定对应容器后,将文件夹路径设置为动态表达式:
确保文件会被解压到以日期命名的目录下(如@concat(pipeline().parameters.TargetDate, '/')<blob>/2022-12-13/)。 - 在复制活动的设置选项卡中,找到「压缩」板块,勾选解压已压缩的文件,压缩类型选择
ZIP,ADF会自动在复制过程中完成解压操作。
4. 测试与运行
- 手动测试时,输入指定日期参数运行管道,检查ABS中是否生成对应日期目录及解压后的文件。
- 若需定期自动执行,创建每日触发器,在触发器配置中传递当前日期作为参数值,实现无人值守的自动同步。
注意事项
- 若目标日期格式与示例不同,调整表达式中的格式字符串即可(如
yyyyMMdd)。 - 确保ADF有权限访问目标HTTP地址和Azure Blob存储容器。
内容的提问来源于stack exchange,提问作者markvgti
相关产品推荐
相关产品推荐

