无法验证外部位置,因为远程服务器返回错误:(401)未经授权。 Databricks 中的错误

问题描述 投票:0回答:1

我在 Synapse 专用 SQL 池中创建了一个存储过程,以将数据从外部表(指向数据湖中的 Parquet 文件)加载到同一专用 SQL 池中的托管表。我能够在 Synapse studio 中无任何错误地执行存储过程。但是当我尝试使用 Databricks 执行相同的 SP 时,我收到以下错误消息

无法验证外部位置,因为远程服务器返回错误:(401)未经授权。任何人都可以帮助解决这个问题

databricks azure-databricks azure-synapse external-tables
1个回答
0
投票

无法验证外部位置,因为远程服务器返回错误:(401)未经授权。

看来是远程服务器给你添麻烦了。服务器拒绝访问所请求的资源,因为不允许客户端这样做,如错误通知“远程服务器返回错误:(401)未授权”所示。

  • 您可能需要仔细检查您用于访问外部数据源的授权详细信息,以解决此问题。
  • 如果您使用 SAS 令牌进行身份验证,请检查它是否未过期。创建 SAS 密钥时,仔细检查是否选中了允许的资源类别和允许的访问框。
  • 正如亚历克斯所说,检查您的存储过程有
    Storage blob contributor role
    blob reader role
    。尝试将
    storage blob data contributor role
    赋予 Synapse 工作区的托管标识。

对我来说,它成功地从数据块执行了突触存储过程。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.