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

如何在Azure Data Factory数据流中筛选验证含指定前缀/后缀的Excel文件名?

Azure Data Factory中筛选/验证Excel文件名的实现方法

针对你需要匹配前缀、后缀或包含特定字符串的Excel文件名需求,以下是两种实用的实现方案:

一、基础方案:数据集层面直接配置筛选规则

适合固定筛选逻辑的场景,无需额外管道活动:

  1. 创建Excel数据集,完成存储账户(Blob/ADLS Gen2等)的连接配置
  2. 在数据集的连接选项卡,找到「文件名」输入框,使用通配符编写匹配规则:
    • 前缀匹配(如以employee开头):employee*.xlsx
    • 后缀匹配(如以_report.xlsx结尾):*_report.xlsx
    • 包含特定字符串(如你的示例emp_data):*emp_data*.xlsx
  3. 验证有效性:点击数据集的「预览数据」按钮,若存在符合规则的文件,将直接加载数据;若没有匹配文件,会提示「找不到文件」。

二、进阶方案:管道活动动态筛选+存在性验证

适合需要先确认文件存在,再执行后续处理的场景:

  1. Get Metadata活动:
    • 配置连接到目标存储容器,在「字段列表」中勾选ChildItems,用于获取容器内所有文件的元数据
  2. Filter活动:
    • 输入源选择@activity('Get Metadata1').output.childItems
    • 筛选条件根据需求选择:
      • 包含特定字符串:@contains(item().name, 'emp_data')
      • 前缀匹配:@startswith(item().name, 'employee')
      • 后缀匹配:@endswith(item().name, '.xlsx')
  3. If Condition活动:
    • 条件表达式填写@empty(activity('Filter1').output.Value)
    • 分支逻辑:
      • 条件为False(存在匹配文件):执行复制、转换等后续业务活动
      • 条件为True(无匹配文件):可添加「Web活动」触发告警,或直接终止管道
  4. 动态传递文件名:若需指定处理某一个匹配文件,可将筛选结果的文件名作为参数传入Excel数据集,示例赋值表达式:@activity('Filter1').output.Value[0].name

注意事项

  • 通配符规则:*匹配任意长度字符,?匹配单个字符
  • 确保ADF的托管标识对目标存储容器拥有读取权限,否则无法获取文件列表或读取数据
  • 使用通配符的数据集预览时,默认加载第一个匹配到的文件数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 08:52:07