当我尝试使用以下代码挂载 ADLS Gen Storage 帐户时,出现错误:
IllegalArgumentException:不支持 Azure 方案:abfss
container_name = "mycontainer"
storage_account = "MyStorageAccount"
key = "xxxxxxxxxx=="
url = "abfss://" + container_name + "@" + storage_account + ".dfs.core.windows.net/"
config = "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
if not mounted_exist:
dbutils.fs.mount(source = url, mount_point = mount_folder, extra_configs = {config : key})
我过去曾使用此方法成功从 Databricks 安装了一个 ADLS Gen 2 帐户,所以我不确定为什么会收到此错误?
我想更新这个问题,以说明我们当前的环境阻止我们创建应用程序注册,从而阻止我们创建服务主体。这就是为什么我尝试使用“帐户密钥”安装存储帐户
尝试使用帐户密钥挂载 Azure Data Lake Storage 时遇到了同样的错误。
由于
abfss
通常需要OAuth身份验证,尝试使用帐户密钥挂载它会导致错误。但是,在修改代码(如下所示)后,我能够成功挂载它并列出其内容。我使用 成功列出了内容
dbutils.fs.ls
。以下是供参考的输出图像: