我尝试执行以下命令行:
mssparkutils.fs.ls("abfss://[email protected]/myfolder/")
字符串
我得到错误:
Py4JJavaError: An error occurred while calling z:mssparkutils.fs.ls.
: java.nio.file.AccessDeniedException: Operation failed: "This request is not authorized to perform this operation.", 403, GET, https://myadfs.dfs.core.windows.net/mycontainer?upn=false&resource=filesystem&maxResults=5000&directory=myfolder&timeout=90&recursive=false, AuthorizationFailure, "This request is not authorized to perform this operation.
型
我遵循了此链接中描述的步骤
通过在容器或文件系统级别授予我和我的Synapse工作区“Storage Blob Data Contributor”角色的访问权限:
的数据
即使这样,我仍然得到这个持久性错误。我错过了其他步骤吗?
2条答案
按热度按时间zvms9eto1#
我在我的环境中得到了同样的错误。我只是按照这个official document并做了复制,现在它对我来说工作正常。你可以按照下面的代码,它会解决你的问题。
示例代码:
字符串
的数据
访问Blob存储
型
的
输出示例:
的
更新答案
在pyspark notebook中配置Spark的参考:
https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/notebook-this-request-is-not-authorized-to-perform-this/ba-p/1712566的
vlurs2pr2#
另一种可能性是,您在包含数据湖/Blob容器的存储帐户上运行了存储防火墙。
据我所知,除非你在你的Synapse示例上启用了私有网络,否则没有办法解决这个问题--在这种情况下,你可以创建一个托管私有端点来启用Spark到Storage的网络路由。