簡體   English   中英

無法使用 Azure Databricks 訪問已安裝的 Azure 數據湖存儲

[英]Unable to access a mounted Azure Data Lake storage using Azure Databricks

我在玩 Azure Databricks。 使用 Microsoft Learn 網站上指定的文檔,我設法將 BLOB 存儲 (ADLS Gen2) 安裝到我的 Databricks。

但是,當我嘗試列出已安裝存儲的內容時,出現以下錯誤:

ExecutionError: An error occurred while calling z:com.databricks.backend.daemon.dbutils.FSUtils.ls.
: GET https://xxxxxxxxxxxxx.dfs.core.windows.net/xxxxxxx?resource=filesystem&maxResults=5000&timeout=90&recursive=false
StatusCode=403
StatusDescription=This request is not authorized to perform this operation using this permission.
ErrorCode=AuthorizationPermissionMismatch

我檢查了權限,並且我的 ServicePrincipal 被分配了角色“STORAGE BLOB DATA CONTRIBUTOR”,它允許對我的存儲容器進行 R/W 訪問。

任何人都知道我缺少哪個部分來使其正常工作? 幫助將不勝感激。

剛剛找到了解決我自己問題的方法。

根本原因是沒有在 Azure 存儲容器本身上設置權限(盡管在 Azure 門戶中,一切看起來都不錯)。

我做了什么來解決這個問題:在本地計算機上下載並安裝 Azure Storage Explorer

  1. 在本地計算機上下載並安裝 Azure 存儲資源管理器,使用以下 url: https://azure.microsoft.com/en-us/features
  2. 打開 Azure 門戶,啟動 Azure 雲 Shell。
  3. 使用以下命令檢索您的應用程序 ID(服務主體)的 Object ID。 不幸的是,在撰寫本文時,您無法直接從門戶中檢索它。 命令: az ad sp show --id應用程序 ID
  4. 從結果集中復制顯示的 Object ID。
  5. 右鍵單擊 Azure 存儲資源管理器中的存儲容器,選擇“管理訪問...”
  6. 粘貼您的 Object ID,並分配適當的權限。
  7. 保存並重試 Databricks 筆記本中的代碼。

這對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM