You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure数据工厂实现FTP到Blob仅加载新增文件的配置问题

Azure 数据工厂FTP到Blob存储增量拷贝配置指南

解决FTP数据集无ModifiedStartDate/ModifiedEndDate参数的问题

FTP数据集默认不会自动暴露这两个日期参数,需要手动添加筛选规则触发参数生成:

  • 进入FTP数据集编辑页面,切换到「连接」选项卡
  • 在「筛选器」模块点击「添加筛选器」,筛选属性选择LastModified,无需填写固定筛选值,保存数据集后,两个日期参数会自动暴露在数据集参数列表中

动态配置日期参数实现增量加载

步骤1:定义流水线级时间参数

在拷贝流水线的参数配置页新增两个DateTime类型的参数:

  • pipeline_modified_start:默认值可设置为@addDays(utcnow(), -1),默认同步过去1天内修改的文件,可按需调整时间跨度
  • pipeline_modified_end:默认值可设置为@utcnow(),默认取当前时间作为同步截止时间

步骤2:绑定拷贝活动的源参数

进入拷贝活动的「源」配置页,找到FTP数据集的参数绑定区域:

  • 将ModifiedStartDate的值绑定为@pipeline().parameters.pipeline_modified_start
  • 将ModifiedEndDate的值绑定为@pipeline().parameters.pipeline_modified_end
  • 若需要扫描FTP子目录下的文件,同步开启「递归」选项;如果不需要修改文件格式,建议开启「二进制复制」避免文件损坏

步骤3:定时调度场景的自动时间同步(可选)

如果不需要人工传入时间,希望每次定时调度只同步上一次调度后新增的文件,可以搭配持久化存储实现自动时间流转:

  • 新增持久化存储介质(比如ADF全局参数、Azure表存储),用来存储上一次流水线执行完成的时间
  • 流水线开头新增Lookup活动读取上一次执行时间,作为本次同步的pipeline_modified_start取值
  • 流水线末尾新增写活动,将本次调度的触发时间@trigger().scheduledTime写入持久化存储,供下次调度使用

注意事项

如果FTP服务器的时区和ADF默认的UTC时区不一致,需要使用convertTimeZone函数做时区转换,避免时间筛选偏差。比如FTP服务器使用北京时间,参数绑定可改为:
@convertTimeZone(pipeline().parameters.pipeline_modified_start, 'UTC', 'China Standard Time')


内容的提问来源于stack exchange,提问作者kira_22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:54:00