Azure Synapse画廊部分示例查询报错:无法打开文件,求解决方法
Azure Synapse访问sqlondemandstorage存储文件报错的原因及解决方法
可能原因
- 目标存储账户权限变更:
sqlondemandstorage.blob.core.windows.net这个公共存储可能已关闭匿名访问权限,而旧教程未同步更新说明。 - Synapse工作区网络限制:若你的Synapse启用了虚拟网络集成,出站流量可能被拦截,无法访问外部公共存储。
- 文件或存储状态异常:目标文件可能已被移除,或存储账户存在临时服务故障。
解决方法
- 验证存储访问权限:直接在浏览器打开报错的文件URL,若无法访问,说明匿名访问已禁用。此时需使用SAS令牌或托管身份授权,示例SQL修改如下:
注:SAS令牌需从存储账户生成,确保拥有该容器的读取权限。SELECT * FROM OPENROWSET( BULK 'https://sqlondemandstorage.blob.core.windows.net/public-csv/population/population.csv?your_sas_token', FORMAT = 'CSV', FIRSTROW = 2 ) AS [result] - 检查Synapse网络配置:进入Synapse工作区的「网络设置」,找到「SQL按需池」的网络配置项,确认是否开启了对外部公共存储的访问权限;若启用VNet集成,需添加允许访问该存储账户的出站规则。
- 替换为可用公共数据集:改用微软官方维护的可用公共数据源(如你已验证的
pandemicdatalake存储),或使用Azure Open Datasets中的替代数据集。 - 使用画廊内置数据集连接:直接通过画廊添加已配置好的数据集进行查询,避免手动输入URL带来的权限和路径问题。
内容的提问来源于stack exchange,提问作者buks
相关产品推荐
相关产品推荐

