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

Azure Data Factory使用Switch Activity判断文件名前缀处理多格式文件方法

Azure Data Factory 按固定文件名前缀分支处理实现方案

实现方式

你可以通过以下两种方案实现按前缀分支的需求,第二种方案扩展性更强更适合复用场景:

方案1:基于startsWith函数分支匹配

直接在Switch Activity的表达式中编写多层判断逻辑,通过startsWith匹配前缀后返回对应的标识值,Case分支直接匹配返回的标识即可:
Switch 表达式示例:

@if(
    startsWith(triggerBody().fileName, 'ABCDEF'),
    'ABCDEF',
    if(
        startsWith(triggerBody().fileName, 'UVWXYZ'),
        'UVWXYZ',
        'UNMATCHED'
    )
)

你只需要在startsWith的第二个入参传入你要匹配的固定前缀字符串(加单引号包裹),后续新增前缀只要再加一层if嵌套即可,Default分支可配置未匹配前缀的异常处理逻辑。

方案2:拆分文件名提取前缀(更推荐)

由于你的文件名统一为前缀_时间戳的格式,可直接按下划线拆分文件名取首段作为Switch的判断值,无需修改表达式即可扩展新的前缀分支:
Switch 表达式示例:

@split(triggerBody().fileName, '_')[0]

该表达式会自动提取文件名中第一个下划线前的内容作为判断值,你只需在Case分支中新增需要匹配的前缀值即可,后续新增业务场景无需修改Switch表达式,适配你要求的可复用需求。

配套配置校验

  • 确认Blob存储的事件触发器已开启传递文件名参数,保证triggerBody().fileName可正常获取到上传的文件名
  • Copy Activity的源数据集文件名配置为@triggerBody().fileName,确保每次触发都读取对应上传的新文件
  • 可将不同前缀对应的格式化规则(如字段映射、输出格式、Sink路径)抽象为管道参数或者配置表存储,进一步提升管道复用性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:45:02