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

从Databricks挂载ADLS Gen2 abfss时遇错误:Unsupported Azure Scheme: abfss

错误原因分析及修复方案

核心错误原因

  • 协议与配置键不匹配:你使用了ADLS Gen2专属的abfss://协议(对应DFS端点dfs.core.windows.net),但配置项却用了Blob存储的格式fs.azure.account.key.<storage-account>.blob.core.windows.net。这个配置键仅适用于wasbs://协议的Blob存储挂载,和abfss协议完全不兼容,直接触发了"Unsupported Azure Scheme: abfss"错误。

  • 代码缩进逻辑异常:if not mounted_exist的代码块缩进在了for循环内部,这会导致遍历挂载列表时每次循环都执行挂载判断,逻辑不符合预期。虽然这不是当前报错的直接原因,但会引发后续的重复挂载或挂载失败问题。

修正后的代码

container_name = "root"
storage_account = "mystorageaccount"
key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# 保持abfss协议对应DFS端点
url = f"abfss://{container_name}@{storage_account}.dfs.core.windows.net/"
# 配置键匹配DFS端点格式
config = f"fs.azure.account.key.{storage_account}.dfs.core.windows.net"

mount_folder = "/mnt/lake"
mounted_list = dbutils.fs.mounts()

mounted_exist = False
for item in mounted_list:
  if mount_folder in item[0]:
    mounted_exist = True
    break

# 移到for循环外部,确保仅执行一次挂载判断
if not mounted_exist:
    dbutils.fs.mount(source = url, mount_point = mount_folder, extra_configs = {config : key})

额外说明

如果你的Databricks Runtime版本过低(低于5.3),可能本身不支持abfss协议,这种情况下需要升级到支持ADLS Gen2的Runtime版本。不过绝大多数场景下,核心问题都是协议与配置键不匹配导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:48:13