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

如何在Azure Data Factory中用正则表达式筛选Blob存储文件?

在ADF管道中用正则精准筛选Blob文件的实现方法

核心思路

ADF表达式语言提供的matchesRegex函数可直接对文件名做正则匹配,配合Filter活动的条件判断,就能精准筛选符合规则的CSV/XML文件,替代原本宽泛的contains筛选逻辑。

具体实现步骤

  • 获取Blob文件列表
    先添加Get Metadata活动,配置对应Blob存储链接服务,选择目标容器,将Field list设置为Child items,以此获取容器下所有文件的基础信息。

  • 配置Filter活动的筛选条件
    将Filter活动的Items设为@activity('你的Get Metadata活动名称').output.childItems,然后在Condition中填入以下表达式:

    @or(matchesRegex(item().name, '^CSV.*\.csv$'), matchesRegex(item().name, '^XML.*\.xml$'))
    

    该表达式会逐一判断文件名:要么匹配「以CSV开头且以.csv结尾」的规则,要么匹配「以XML开头且以.xml结尾」的规则,精准过滤掉不符合要求的文件。

    注意:正则里的扩展名前的.需要转义为\.,避免被当作通配符匹配任意字符;.*会匹配文件名中间的任意内容(包括空格,适配你给出的示例文件名)。

  • 验证筛选结果
    可在Filter活动后添加Set Variable活动,将筛选结果赋值给变量,或直接通过Debug模式运行管道,查看Filter活动输出的value字段,确认筛选出的文件是否符合预期。

补充注意事项

  • 确保Get Metadata活动拥有目标Blob容器的访问权限,避免因权限不足导致无法获取文件列表。
  • 若后续需要调整正则规则,可直接修改matchesRegex函数中的正则参数,无需改动整体逻辑框架。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:04:52