Azure Synapse Lookup用通配符路径报UserErrorFileNotFound问题
Azure Synapse Lookup组件通配符路径报错排查方案
可能原因及对应解决步骤
通配符使用位置错误
Lookup组件的通配符仅支持在文件名部分使用,不能包含在文件夹路径中。检查路径配置:- 正确格式:
labournavigatorfile/raw_data/Scraped/HeadHunter/Saudi_Arabia/*.json - 若需对文件夹使用通配符,需配合Get Metadata活动实现,Lookup本身不支持文件夹层级的通配匹配
- 正确格式:
ADLS Gen2权限缺失
精确路径仅需目标文件的读取权限,通配符模式需要服务主体/托管标识对目标文件夹labournavigatorfile/raw_data/Scraped/HeadHunter/Saudi_Arabia拥有**List(列表)+ Read(读取)**权限。缺少List权限会导致无法遍历文件夹内文件,触发找不到文件的错误。通配符匹配规则不符
Synapse Lookup仅支持*匹配任意字符序列,不支持?单字符匹配;避免在路径中混合多个无意义通配符,确保通配符能精准命中目标文件(比如Data_*.json可匹配Data_643.json)。路径配置混淆文件系统名称
检查Linked Service配置:若已在Linked Service中指定文件系统为labournavigatorfile,Lookup的文件路径只需填写raw_data/Scraped/HeadHunter/Saudi_Arabia/*.json;若重复将文件系统名称写入路径,会导致实际访问路径叠加,引发文件找不到的错误。无匹配文件触发报错
Lookup在通配符模式下无匹配文件时会直接报错,可先通过Get Metadata活动的Child Items属性,验证目标文件夹下是否存在能被通配符匹配的文件。
快速验证步骤
- 用Get Metadata活动指向目标文件夹,勾选
Child Items,运行后查看返回的文件列表,确认Data_643.json存在且符合通配符匹配规则 - 先测试简化通配符路径(如
*.json),确认能命中文件后再缩小匹配范围 - 检查Linked Service的身份验证主体,确保其权限覆盖文件夹层级的列表操作
内容的提问来源于stack exchange,提问作者Waleed Alfaris
相关产品推荐
相关产品推荐

