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

Databricks挂载ADLS后无法访问容器数据,多种认证方式失效求助

解决方案与排查步骤

针对在Databricks挂载ADLS(Blob存储)时遇到的认证失败/挂载后无法访问数据的问题,结合存储账号启用VNet/IP限制的场景,以下是分步排查方案:

一、优先排查VNet/IP访问限制(核心卡点)

存储账号启用选定网络访问限制后,Databricks的请求会被防火墙拦截,这是最常见的原因:

  • VNet注入的Databricks工作区:在存储账号的防火墙设置中,添加集群所在VNet的Blob存储服务端点,并勾选"允许所选虚拟网络中的访问"。
  • 公共Databricks工作区:将集群的出站公网IP添加到存储账号的防火墙允许列表。注意:集群重启后IP可能变更,建议配置静态IP或NAT网关固定出口IP。
  • 额外选项:若允许,可开启存储账号防火墙的"允许受信任的微软服务访问"开关,Databricks作为微软托管服务可绕过IP限制(仅适用于Access Key/服务主体认证,SAS Token不受此规则覆盖)。

二、三种认证方式的具体校验

1. SAS Token 认证

  • 确认SAS权限:必须包含**读取(r)、列出(l)**权限,有效期需覆盖当前时间;避免使用过期或权限不足的SAS。
  • 检查SAS格式:不要包含开头的?,例如正确格式为sv=2023-11-03&ss=bfqt&srt=sco&sp=rl&se=2024-12-31T23:59:59Z&st=2024-01-01T00:00:00Z&spr=https&sig=xxxx。
  • 配置键匹配:容器级SAS对应配置键fs.azure.sas.<container>.<account>.blob.core.windows.net,不要混用账号级SAS的配置键。

2. Access Key 认证

  • 校验密钥正确性:确认使用的是存储账号的主密钥/辅助密钥,避免拼写错误(你代码中的AccountKye疑似笔误,需核对实际值)。
  • 防火墙规则:若未开启受信任服务访问,需添加Databricks的IP/VNet到允许列表。

3. 服务主体认证

  • 角色权限验证:确保服务主体在存储账号/容器上被分配了存储Blob数据读取者(或更高权限)角色,且角色分配已生效(通常需5-10分钟)。
  • 配置格式正确性:正确的Spark配置如下(替换占位符):
tenant_id = "<你的租户ID>"
client_id = "<服务主体ID>"
client_secret = "<服务主体密钥>"

spark.conf.set("fs.azure.account.auth.type.adlskush.blob.core.windows.net", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type.adlskush.blob.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id.adlskush.blob.core.windows.net", client_id)
spark.conf.set("fs.azure.account.oauth2.client.secret.adlskush.blob.core.windows.net", client_secret)
spark.conf.set("fs.azure.account.oauth2.client.endpoint.adlskush.blob.core.windows.net", f"https://login.microsoftonline.com/{tenant_id}/oauth2/token")
  • 网络限制:服务主体无法绕过防火墙,仍需添加Databricks的IP/VNet到允许列表。

三、挂载后的验证操作

挂载成功后,先执行以下命令验证连通性,以便精准定位错误:

# 列出挂载点内容
dbutils.fs.ls("/mnt/data/")
# 尝试读取测试文件(若存在)
display(spark.read.csv("/mnt/data/sample.csv"))

若报错,保留完整错误信息(如PermissionDenied、EndpointNotFound),可进一步缩小排查范围。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:30:00