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

Databricks Connect远程连接后无法加载Azure存储Avro文件报403错误

403令牌权限不足问题排查与修复

这个报错和Avro文件格式本身无关,核心是远程连接Databricks时使用的身份凭证权限范围未覆盖对应服务端点,按以下顺序排查修复:

  • 校验身份令牌的权限范围
    代码中直接调用SparkSession.builder.getOrCreate()时,会默认读取本地配置的Databricks PAT令牌或Azure AD令牌,两类令牌的常见问题如下:
    • 使用Azure AD服务主体令牌的场景:生成令牌时必须同时申请两类权限范围,一是Databricks工作区权限2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default,二是Azure存储访问权限https://storage.azure.com/.default,缺任意一个都会触发该报错
    • 使用Databricks个人访问令牌(PAT)的场景:确认令牌未过期,且生成令牌对应的工作区账号不属于只读角色,具备目标Azure存储容器的访问权限
  • 校验存储路径与访问配置
    代码中azure/storage/containerlocation为简写占位路径,实际使用时注意两点:
    • 访问ADLS Gen2存储必须使用标准ABFSS协议路径,格式为abfss://<容器名>@<存储账户名>.dfs.core.windows.net/<文件路径>,不可使用本地文件系统风格的简写路径
    • 若目标存储容器未在Databricks工作区做全局挂载,必须在Spark初始化配置中显式传入存储账户的认证信息,不能依赖默认身份传递
  • 排除依赖误导性报错
    确认连接的Databricks集群支持Avro读取:Databricks Runtime 8.0及以上版本默认内置Avro模块,若使用低版本Runtime或自定义集群镜像,需手动安装spark-avro依赖,依赖缺失时偶会抛出权限类误导性报错。

修复后可直接运行的代码示例

替换配置项为实际环境参数即可使用:

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .config("fs.azure.account.auth.type.<存储账户名>.dfs.core.windows.net", "OAuth") \
    .config("fs.azure.account.oauth.provider.type.<存储账户名>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider") \
    .config("fs.azure.account.oauth2.client.id.<存储账户名>.dfs.core.windows.net", "<服务主体客户端ID>") \
    .config("fs.azure.account.oauth2.client.secret.<存储账户名>.dfs.core.windows.net", "<服务主体客户端密钥>") \
    .config("fs.azure.account.oauth2.client.endpoint.<存储账户名>.dfs.core.windows.net", "https://login.microsoftonline.com/<Azure租户ID>/oauth2/token") \
    .getOrCreate()

df = spark.read.format("avro").load("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/<avro文件路径>")
df.show()

前置验证步骤

配置完成后不要直接读文件,先执行两步校验快速定位问题:

  • 执行spark.sql("SHOW CATALOGS").show(),确认Databricks工作区基础连接权限正常
  • 执行dbutils.fs.ls("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/"),确认存储路径访问权限正常
    两步校验无报错再执行Avro文件读取,即可排除权限类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:18:29