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

ADF v2事件触发场景下输入文件名格式合规校验咨询

ADF v2 事件触发场景下文件名合规校验实现方案

前置准备

事件触发器触发管道时,可直接通过表达式 @triggerBody().fileName 拿到触发的文件全名,直接在校验逻辑中引用即可。

方案1:管道内If Condition直接校验(轻量场景首选)

无需额外组件,直接在管道层完成校验,适合仅需要校验文件名、不需要提前解析文件内容的场景:

  1. 管道中新增「If Condition」活动
  2. 写入条件表达式:
    @regex(triggerBody().fileName, '^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[0-9]{6}_[0-9]+\.[Cc][Ss][Vv]$')

正则规则说明:匹配 [字母数字]_[字母数字]_[6位数字年月]_[数字时间戳].csv 格式,同时兼容csv后缀大小写

  1. 配置分支逻辑:
  • 条件为True的分支:接入后续正常的文件处理逻辑
  • 条件为False的分支:接入异常处理逻辑,比如发送告警通知、将文件移动到非法文件目录、写入校验失败日志等

方案2:映射数据流校验(适合连带文件内容处理的场景)

如果你的流程本来就要用数据流处理文件内容,可以直接把文件名校验嵌入数据流流程:

  1. 数据流参数新增fileName参数,管道调用数据流时将@triggerBody().fileName传入该参数
  2. 源配置完成后新增「派生列」活动,新增校验列:
    列名:is_file_valid
    列值:regexMatch($fileName, '^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[0-9]{6}_[0-9]+\.[Cc][Ss][Vv]$')
  3. 新增「条件拆分」活动,按is_file_valid的值拆分两路流:
  • 符合条件的流:走后续正常的数据清洗、入库逻辑
  • 不符合条件的流:输出到错误存储路径,或写入日志表留痕

规则调整说明

如果你的实际命名规则和默认示例有差异,直接修改正则对应部分即可:

  • 公司/国家字段允许特殊字符:在第一、第二个[]内加入允许的字符即可,比如允许横杠就改成[a-zA-Z0-9\-]
  • 时间戳格式特殊:调整_[0-9]+部分的规则,比如时间戳是yyyyMMddHHmmss格式就改成_[0-9]{14}
  • 要求后缀必须是大写CSV:把正则末尾的\.[Cc][Ss][Vv]改成\.CSV即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:36:04