无法在adls gen 2的databricks中创建挂载点

tag5nh1u  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(479)

我正在尝试使用databricks中的key vault创建adls gen2的挂载点,但是由于出现了一些错误,我无法这样做。我有contributor访问权限,我尝试了使用storage blob data contributor和contributor访问spn,但是我仍然无法在装载点创建它。
我请求一些帮助

configs= {"fs.azure.account.auth.type":"OAuth",
       "fs.azure.account.oauth.provider.type":"org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
       "fs.azure.account.oauth2.client.id":"abcdefgh",
       "fs.azure.account.oauth2.client.secret":dbutils.secrets.get(scope="myscope",key="mykey"),
       "fs.azure.account.oauth2.client.endpoint":"https://login.microsoftonline.com/tenantid/oauth2/token",
       "fs.azure.createRemoteFileSystemDuringInitialization": "true"}

dbutils.fs.mount(
        source= "abfss://cont1@storageaccount.dfs.core.windows.net/",
        mount_point="/mnt/cont1",
        extra_configs=configs)

我得到的错误是调用o280.mount时出错:头https://storageaccount.dfs.core.windows.net/cont1?resource=filesystem&timeout=90 statuscode=403 statusdescription=此请求无权执行此操作。

wgx48brx

wgx48brx1#

执行“将应用程序分配给角色”中的步骤时,请确保已为您的用户帐户分配了storage blob data contributor角色。
回复:我已经向服务主体提供了所有者权限,并尝试运行“ dbutils.fs.ls("mnt/azure/") ,返回与上述相同的错误消息。

解决方案:现在将存储blob数据参与者角色分配给服务主体。

最后,在将存储blob数据参与者角色分配给服务主体之后,能够在没有任何错误消息的情况下获得输出。

有关更多详细信息,请参阅“教程:azure data lake storage gen2,azure databricks&spark”。

相关问题