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

Azure Data Factory:遗留工作流无正则时精准过滤表对应文件

解决方案

针对ADF不支持正则的限制,可以通过组合内置字符串函数实现精确的表名匹配,避免短表名误匹配长表名的文件。以下是两种可靠的快速修复方案:

方案一:基于文件名结构拆分匹配(推荐)

利用文件名「表名_日期.json」的固定结构,提取文件名中最后一个下划线前的部分作为实际表名,再与目标表名精确比对。

使用以下表达式作为筛选条件:

@equals(
    substring(
        replace(item().name, '.json', ''),
        0,
        lastIndexOf(replace(item().name, '.json', ''), '_')
    ),
    pipeline().parameters.TableName
)

逻辑说明:

  • replace(item().name, '.json', ''):去除文件名的.json后缀,得到纯名称部分(如name_one_2025-09-15)
  • lastIndexOf(..., '_'):定位纯名称部分中最后一个下划线的位置
  • substring(..., 0, 位置):提取最后一个下划线前的所有字符,得到实际表名(如name_one或name_one_2025)
  • equals(..., pipeline().parameters.TableName):将提取的表名与输入的目标表名精确比对,匹配则保留该文件

方案二:结合startswith与排除规则(应急临时方案)

如果暂时不想调整复杂的字符串拆分,可以在原有startswith基础上,添加排除条件,避免短表名匹配到包含自身的长表名文件。

例如针对name_one表,筛选表达式为:

@and(
    startswith(item().name, 'name_one_'),
    not(startswith(item().name, 'name_one_2025_'))
)

注意事项:

  • 该方案需要为每个存在冲突的表名单独配置排除规则,仅适用于冲突表名较少的场景
  • 扩展性较差,后续新增类似命名的表名时需要同步更新条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 08:43:10