我无法从 Azure/Databricks 访问 Azure 容器。 我按照这个 tuto 的说明进行操作,因此我开始创建容器并生成 sas。 然后在 databricks 笔记本上我发出了以下命令
dbutils.fs.mount( source = endpoint_source, mount_point = mountPoint_folder, extra_configs = {config : sas})
我将
endppoint_source
、mountPoint_folder
、sas
替换为以下
container_name = "containertobesharedwithdatabricks"
storage_account_name = "atabricksstorageaccount"
storage_account_url = storage_account_name + ".blob.core.windows.net"
sas = "?sv=2021-06-08&ss=bfqt&srt=o&sp=rwdlacupiytfx&se=..."
endpoint_source = "wasbs://"+ storage_account_url + "/" + container_name
mountPoint_folder = "/mnt/projet8"
config = "fs.azure.sas."+ container_name + "."+ storage_account_url
但我以以下例外结束:
shaded.databricks.org.apache.hadoop.fs.azure.AzureException: shaded.databricks.org.apache.hadoop.fs.azure.AzureException: Container $root in account atabricksstorageaccount.blob.core.windows.net not found, and we can't create it using anoynomous credentials, and no credentials found for them in the configuration.
我不明白为什么 databricks 找不到根容器。 任何帮助将不胜感激。预先感谢。
从该捕获中可以看出,存储帐户和文件夹存在,所以我很困惑。
wasbs://<container-name>@<storage-account-name>.blob.core.windows.net
.endpoint_source = 'wasbs://[email protected]'
mp = '/mnt/repro'
config = "fs.azure.sas.data.blb2301.blob.core.windows.net"
sas = "<sas>"
dbutils.fs.mount( source = endpoint_source, mount_point = mp, extra_configs = {config : sas})
我的错...,我在container_name和storage_account_url之间放了一个“/”而不是“@”并颠倒了顺序,所以正确的语法是:
endpoint_source = "wasbs://"+ container_name + "@" + storage_account_url