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

如何在ADF中根据最新上传日期选取最新文件并处理?

在Azure Data Factory中选取文件夹内最新文件并处理的实现方案

核心实现步骤:

  • 获取文件元数据
    添加Get Metadata活动,配置目标文件夹路径,勾选Child items和Last modified选项。执行后,该活动会返回文件夹内所有文件的名称、最后修改时间等元数据。

  • 定位最新文件

    1. 添加Set Variable活动,创建一个DateTime类型的变量(比如LatestModifiedTime),赋值表达式为:
      @max(activity('Get Metadata1').output.childItems, 'lastModified')
      
      这个表达式会从元数据中提取出最大的最后修改时间,也就是最新文件的修改时间。
    2. 添加Filter活动,输入数据源选择Get Metadata1输出的childItems,过滤条件设置为:
      @equals(item().lastModified, variables('LatestModifiedTime'))
      
      执行后就能得到所有最后修改时间等于最新时间的文件(若存在多个同时间上传的文件,会全部筛选出来)。
  • 处理目标文件
    添加For Each活动,遍历Filter活动的输出结果。在循环内部,根据业务需求添加数据处理活动(比如Copy Data、Data Flow等),文件路径用表达式拼接:

    @concat('<你的文件夹根路径>', '/', item().name)
    
  • 配置每周调度
    在Pipeline的触发器中选择** recurrence trigger**,设置为每周触发一次,调整触发时间以匹配文件存入的节点,确保每次触发都能获取到当周新增的最新文件。

额外提示:

  • 如果文件命名有明确的日期规律(比如data_20240520.csv),也可以通过文件名排序筛选,将Set Variable的表达式改为@max(activity('Get Metadata1').output.childItems, 'name'),但这种方式依赖严格的命名规范,不如修改时间可靠。
  • 可在流程中添加日志记录活动,比如用Set Variable记录每次处理的文件名和时间,方便后续排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:36:16