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

如何用SAS通过Databricks连接读写Azure ADLS Gen2/Blob存储及排障

Azure存储SAS密钥连接Databricks故障排查思路
  • 验证SAS Token的权限和有效期

    • 确认SAS Token包含Blob存储(或对应存储类型)的读写权限,尤其是你要操作的容器/对象权限
    • 检查Token的st(起始时间)和se(过期时间),确保当前时间在有效期内,注意Azure默认使用UTC时区
    • 确认SAS是针对整个存储账户还是特定容器,如果是容器级SAS,连接时要指定对应容器路径
  • 检查Databricks配置语法

    • 使用Spark配置时,确保格式正确,替换占位符后执行:
      spark.conf.set("fs.azure.account.auth.type.<存储账户名>.dfs.core.windows.net", "SAS")
      spark.conf.set("fs.azure.sas.token.provider.type.<存储账户名>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.sas.FixedSASTokenProvider")
      spark.conf.set("fs.azure.sas.fixed.token.<存储账户名>.dfs.core.windows.net", "<你的SAS Token>")
      
    • SAS Token不要带开头的?符号,直接复制?后面的完整字符串
  • 排查网络与防火墙设置

    • 检查存储账户防火墙规则:如果设置了允许特定IP访问,要把Databricks集群的出站IP添加进去(集群详情页的「网络」标签可查看)
    • 若使用VNet注入的Databricks,确认存储账户与VNet的对等连接或服务端点已配置完成
  • 测试基础连接

    • 用简单命令测试能否列出容器,替换占位符后执行:
      dbutils.fs.ls("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/")
      
    • 根据报错信息针对性排查:比如403 Forbidden大概率是权限不足,InvalidAuthenticationInfo说明Token无效或格式错误
  • 确认存储账户类型与端点匹配

    • Blob存储用blob.core.windows.net端点,ADLS Gen2用dfs.core.windows.net端点,不要混用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:45:07