如何在Azure Data Factory中每日仅复制GCS桶最新文件至Azure Blob存储
Azure Data Factory 实现GCS到Blob的增量同步(仅复制新增文件)
不需要编写Python脚本,ADF原生功能就能满足你的需求,具体配置步骤如下:
启用复制活动的增量复制策略
在复制活动的源(GCS)配置中,找到「增量复制」选项并启用:- 首次运行时设置「开始时间」为你希望开始同步的起始点(比如首次执行前一天的时间),ADF会自动维护一个水印,记录每次同步的结束时间;后续每日运行时,只会复制该水印时间之后新增/修改的GCS文件。
- 该功能依赖GCS文件的「最后修改时间」元数据,GCS会准确记录文件上传/更新的时间,无需额外维护。
设置目标Blob的防覆盖规则
在复制活动的目标(Blob存储)配置中,修改「复制行为」:- 选择「跳过已存在的文件」,确保不会覆盖Blob中已有的同名文件;如果需要仅在源文件更新时覆盖,可选择「仅当源文件较新时覆盖」,但根据你的需求,前者更合适。
配合现有调度触发器
保留你已配置的每日夜间触发器即可,增量复制会自动结合触发器的运行周期,每次只同步当日新增的GCS文件,无需额外调整。
可选进阶方案(针对特殊场景)
如果GCS文件有明确的命名规则(比如文件名包含日期,如data_20240520.csv),也可以直接在GCS源的「文件筛选器」中设置前缀/后缀匹配,比如用data_@{formatDateTime(utcnow(), 'yyyyMMdd')}*来筛选当日文件,这种方式更直接,但依赖文件名的时间标识。
内容的提问来源于stack exchange,提问作者Gabriele Sciurti
相关产品推荐
相关产品推荐

