我正在尝试使用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=此请求无权执行此操作。
1条答案
按热度按时间wgx48brx1#
执行“将应用程序分配给角色”中的步骤时,请确保已为您的用户帐户分配了storage blob data contributor角色。
回复:我已经向服务主体提供了所有者权限,并尝试运行“
dbutils.fs.ls("mnt/azure/")
,返回与上述相同的错误消息。解决方案:现在将存储blob数据参与者角色分配给服务主体。
最后,在将存储blob数据参与者角色分配给服务主体之后,能够在没有任何错误消息的情况下获得输出。
有关更多详细信息,请参阅“教程:azure data lake storage gen2,azure databricks&spark”。