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

启用托管专用终结点后,Synapse读取ADLS中Excel文件的故障排查

解决Azure Synapse启用托管专用终结点后无法读取ADLS Excel文件的问题

核心原因分析

启用托管专用终结点后,Synapse工作区的网络访问被限制为私有链路。原代码使用的dfs.core.windows.net(ADLS Gen2的DFS终结点)会被解析到公共IP,但托管专用终结点仅针对blob.core.windows.net(Blob存储终结点)建立私有连接,导致DNS解析失败,触发"Name or service not known"错误。

具体解决步骤

  • 调整文件路径使用Blob存储终结点
    将原路径中的dfs.core.windows.net替换为blob.core.windows.net,修改后的代码:

    pd.read_excel('abfss://bronze@adlsdev.blob.core.windows.net/test/test1.xlsx')
    

    托管专用终结点默认适配Blob存储的私有链路配置,使用Blob终结点可让流量走私有连接,规避DNS解析问题。

  • 验证托管专用终结点配置

    1. 进入Azure门户的Synapse工作区,找到「网络」下的「托管专用终结点」
    2. 确认已为目标ADLS存储账户创建**类型为Storage(Blob)**的托管专用终结点,且状态为「已批准」
    3. 若未创建,点击「+ 托管专用终结点」,选择Storage(Blob)类型,关联目标ADLS账户并等待批准
  • 检查存储账户防火墙设置
    确保ADLS存储账户的防火墙允许Synapse工作区的私有网络访问:

    1. 进入ADLS存储账户的「网络」设置
    2. 在「防火墙和虚拟网络」选项卡,选择「允许从选定的网络访问」
    3. 添加Synapse工作区的托管虚拟网络,或勾选「允许受信任的Microsoft服务访问此存储账户」用于快速验证
  • 确认Spark配置(若使用Synapse Spark池)
    如果使用Synapse Spark池,需确保Spark配置未强制使用公共终结点,可在Notebook的「Spark会话配置」中添加以下项(若使用MSI认证,需确保MSI拥有存储账户的Blob数据Contributor权限):

    spark.conf.set("fs.azure.account.auth.type.adlsdev.dfs.core.windows.net", "OAuth")
    spark.conf.set("fs.azure.account.oauth.provider.type.adlsdev.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
    

额外验证点

  • 确认存储容器名称(bronze)和文件路径(test/test1.xlsx)无拼写错误
  • 检查Synapse Notebook使用的计算池(Spark或Serverless SQL)已关联到托管虚拟网络

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:52:11