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

Azure Data Factory中Filter活动如何过滤当前及未来日期文件?

修改Filter活动表达式实现排除当前及未来日期文件

核心思路

原表达式仅排除当前日期的文件,要实现排除当前及之后所有日期的文件,需要从文件名中提取日期并转换为可比较的日期类型,再与当前时区的日期做对比,仅保留早于当前日期的文件。

修改后的完整表达式

@and(
    equals(item().type, 'File'),
    startswith(item().name, 'BBN_TX1_'),
    endswith(item().name, '.csv'),
    not(greaterOrEquals(
        convertToDateTime(substring(item().name, length('BBN_TX1_'), 10)),
        convertTimeZone(utcNow(), 'UTC', 'GMT Standard Time')
    ))
)

表达式拆解说明

  1. 基础条件保留:保留原有的文件类型校验、文件名前缀/后缀匹配逻辑,确保只筛选目标格式的文件
  2. 日期提取与转换:
    • substring(item().name, length('BBN_TX1_'), 10):从固定格式的文件名中截取10位日期字符串(对应yyyy-MM-dd格式)
    • convertToDateTime(...):将截取的字符串转换为日期类型,用于后续的日期比较
  3. 日期对比逻辑:
    • convertTimeZone(utcNow(), 'UTC', 'GMT Standard Time'):沿用原逻辑的时区转换,得到当前GMT标准时间
    • greaterOrEquals(提取的日期, 当前日期):判断文件日期是否为当前或未来日期
    • not(...):对上述判断取反,最终仅保留文件日期早于当前日期的文件,实现排除当前及未来日期的需求

注意事项

  • 需确保所有目标文件名严格遵循BBN_TX1_yyyy-MM-dd.csv格式,否则日期截取会出现错误
  • 若需调整时区,直接修改convertTimeZone函数的时区参数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:56:04