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

Azure Synapse Pipeline:如何按文件名日期而非修改日期筛选文件?

按文件名内嵌日期筛选Azure Synapse Pipeline文件的方案

Get Metadata活动的「Filter by last modified」选项仅支持基于文件实际修改日期筛选,无法直接识别文件名中内嵌的日期,所以得通过后续步骤实现需求,具体操作如下:

  • 保留现有Get Metadata1活动,仅用来获取目标存储路径下的所有子项(childItems),不要在该活动中设置任何日期过滤条件
  • 添加一个Filter活动,放在Get Metadata1和ForEach循环之间:
    • 输入设置为 @activity('Get Metadata1').output.childItems
    • 过滤规则配置:
      1. 提取文件名中的日期部分:如果你的文件名都是「8位日期_xxx」格式,用表达式 @substring(item().name, 0, 8);如果日期是第一个下划线前的内容,也可以用 @split(item().name, '_')[0]
      2. 条件判断:判断提取出的日期字符串是否在BeginRange和EndRange参数范围内,表达式示例:
        @and(greaterOrEquals(substring(item().name, 0, 8), pipeline().parameters.BeginRange), lessOrEquals(substring(item().name, 0, 8), pipeline().parameters.EndRange))
        
  • 修改ForEach循环的输入为 @activity('Filter1').output.Value,这样循环只会处理符合日期条件的文件

注意事项

  • 确保BeginRange和EndRange参数的格式与文件名中的日期格式完全一致(比如都是YYYYMMDD字符串)
  • 如果文件名的日期位置或格式有变化,需要调整日期提取的表达式适配不同场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:03:19