如何使用Azure Data Factory读取嵌套父目录下Audit文件夹内的所有文件
Azure Data Factory 提取所有Audit目录及子目录下文件的实现方法
前置准备
- 创建对应存储(Azure Blob/ADLS Gen2等)的链接服务,确保ADF的访问身份(托管标识/连接密钥)具备目标容器的读取权限
- 创建对应存储的数据集,类型可根据后续处理需求选择(二进制/CSV等均可),数据集路径仅配置到根容器级别即可,不需要指定子路径
实现方案
方案1:通配符路径直接匹配(适用批量迁移/批量读取场景)
如果仅需要批量提取所有符合要求的文件,不需要逐文件做特殊处理,直接在复制活动/查找活动的源配置中做如下设置即可:
- 源数据集选择你提前创建的存储数据集
- 文件路径类型选择「通配符路径」
- 通配符路径填写:
Container/*/Transcation/07654/Audit/**/*
通配符规则说明:
*匹配单级目录下任意名称,**匹配多级子目录下所有内容,该路径会自动命中所有一级子目录下的/Transcation/07654/Audit/目录及所有子目录内的文件
- 手动开启「递归」选项,确保子目录会被完整遍历
配置完成后运行活动即可自动抓取所有符合要求的文件。
方案2:Get Metadata + ForEach 组合(适用逐文件处理场景)
如果需要对每个匹配到的文件做单独处理(比如逐文件校验、按文件拆分存储等),可以使用该方案:
- 添加Get Metadata活动,关联存储数据集,字段选择「子项」
- Get Metadata活动的路径配置为
Container/,开启递归,筛选规则设置为*/Transcation/07654/Audit/**/* - 添加ForEach活动,传入参数设置为
@activity('Get Metadata').output.childItems - 在ForEach循环内部添加对应的业务处理活动,每次循环即可对单个匹配到的文件做自定义操作。
内容的提问来源于stack exchange,提问作者bigdata techie
相关产品推荐
相关产品推荐

