我想使用以下代码在azure databricks上使用挂载点:
dbutils.fs.ls('/mnt/dz/')
但是我有这个错误
shaded.databricks.org.apache.hadoop.fs.azure.AzureException: java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details.
遇到这种情况我该怎么办?
我已经用此代码创建了一个安装点
mountPoint = "/mnt/dz/"
if not any(mount.mountPoint == mountPoint for mount in dbutils.fs.mounts()):
try:
dbutils.fs.mount(
source = "wasbs://{}@{}.blob.core.windows.net".format(blobContainerName, storageAccountName),
mount_point = mountPoint,
#extra_configs = {'fs.azure.account.key.' + storageAccountName + '.blob.core.windows.net': storageAccountAccessKey}
extra_configs = {'fs.azure.sas.' + blobContainerName + '.' + storageAccountName + '.blob.core.windows.net': sasToken}
)
print("mount succeeded!")
except Exception as e:
print("mount exception", e)
代码运行良好,但现在
dbutils.fs.ls('/mnt/dz/')
不工作
shaded.databricks.org.apache.hadoop.fs.azure.AzureException: java.util.NoSuchElementException: 枚举结果时发生错误,请检查原始异常以了解详细信息
您遇到上述错误是因为您没有 sas 令牌中该特定容器的 list 权限。
在权限选择列表选项中创建 sas 令牌时:
输出: