Azure Data Factory无法使用带通配符的Excel数据集问题排查
问题排查与解决方案
核心问题定位
你遇到的PathNotFound错误,本质是通配符的使用位置错误,以及ADLS Gen2数据集对路径和文件名的解析逻辑要求。当你把*.xlsx直接写在路径字段里时,系统会把整个import/*.xlsx当作一个实际的目录/文件路径去查找,而非解析通配符,自然会提示路径不存在。
正确配置步骤
要实现只读取import目录下的.xlsx文件、排除import/archive子目录的需求,需按以下方式配置数据集:
基础路径配置
- 在数据集的文件系统字段中,选择你的ADLS Gen2容器(比如
ingress)。 - 在文件夹路径字段中,填写具体目录路径:
industrysectors/import,此处不要添加任何通配符。
- 在数据集的文件系统字段中,选择你的ADLS Gen2容器(比如
文件名通配符配置
- 在文件名字段中,输入通配符规则:
*.xlsx。系统会自动扫描import目录下所有直接存放的.xlsx文件,忽略子目录(包括archive)内的文件。
- 在文件名字段中,输入通配符规则:
工作表配置验证
使用通配符批量读取文件时,需确保目标.xlsx文件的工作表结构一致。若手动指定工作表名称或索引报错,检查两点:- 确认
import目录下所有.xlsx文件都存在指定的工作表(比如名称匹配,或索引0对应存在的工作表)。 - 若文件结构不一致,可考虑使用数据集参数或在后续活动中动态处理工作表。
- 确认
额外注意事项
- 若在Azure Data Factory(ADF)或Synapse中配置数据集,确保使用的服务主体/托管标识拥有
import目录的读取权限,以及对应容器的列出权限(通配符扫描需要目录内容的列出权限)。 - ADLS Gen2数据集的通配符仅支持在文件名字段中使用,切勿在文件夹路径中添加通配符。
内容的提问来源于stack exchange,提问作者mariusf
相关产品推荐
相关产品推荐

