共用方式為


管理外部位置

本文說明如何列出、檢視、更新、授與許可權,以及刪除 外部位置

注意

Databricks 建議使用磁碟區控管檔案存取。 請參閱 建立和使用磁碟區

描述外部位置

若要查看外部位置的屬性,您可以使用目錄總管或 SQL 命令。

目錄總管

  1. 在提要欄位中,按兩下 目錄圖示[目錄]。
  2. 在畫面底部,按兩下 [外部資料 > 外部位置]。
  3. 按兩下外部位置的名稱以檢視其屬性。

Sql

在筆記本或 Databricks SQL 編輯器中執行下列命令。 將取代 <location-name> 為外部位置的名稱。

DESCRIBE EXTERNAL LOCATION <location-name>;

在外部位置上顯示授與

若要在外部位置顯示授與,請使用如下的命令。 您可以選擇性地篩選結果,只顯示指定主體的授與。

SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

取代佔位元值:

  • <location-name>:授權讀取和寫入雲端租用戶中記憶體容器路徑的外部位置名稱。
  • <principal>:帳戶層級用戶的電子郵件地址或帳戶層級群組的名稱。

注意

如果組名包含空格,請使用其周圍的反向刻度(而非單引號)。

授與外部位置的許可權

本節說明如何使用筆記本或 Databricks SQL 查詢中的目錄總管和 SQL 命令,授與和撤銷外部位置的許可權。 如需改用 Databricks CLI 或 Terraform 的相關信息,請參閱 Databricks Terraform 檔和什麼是 Databricks CLI?

您可以授與外部位置的下列權限:

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

必要許可權:中繼 CREATE EXTERNAL LOCATION 存放區和外部位置所參考之記憶體認證的許可權。 中繼存放區管理員預設在 CREATE EXTERNAL LOCATION 中繼存放區上。

若要授與許可權以使用外部位置:

目錄總管

  1. 在提要欄位中,按兩下 目錄圖示[目錄]。
  2. 在畫面底部,按兩下 [外部資料 > 外部位置]。
  3. 按兩下外部位置的名稱,以開啟其屬性。
  4. 按兩下 [ 許可權]。
  5. 若要將許可權授與使用者或群組,請選取每個身分識別,然後按兩下 [ 授與]。
  6. 若要撤銷使用者或群組的許可權,請選取每個身分識別,然後按兩下 [ 撤銷]。

Sql

在筆記本或 SQL 查詢編輯器中執行下列 SQL 命令。 此範例會授與建立參考外部位置的外部資料表的能力:

GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION <location-name> TO <principal>;

取代佔位元值:

  • <location-name>:授權讀取和寫入雲端租用戶中記憶體容器路徑的外部位置名稱。
  • <principal>:帳戶層級用戶的電子郵件地址或帳戶層級群組的名稱。

注意

如果組名包含空格,請使用其周圍的反向刻度(而非單引號)。

變更外部位置的擁有者

外部位置的建立者是其初始擁有者。 若要將擁有者變更為不同的帳戶層級使用者或群組,請在筆記本或 Databricks SQL 編輯器中執行下列命令,或使用 目錄總管。 取代佔位元值:

  • <location-name>:認證的名稱。
  • <principal>:帳戶層級用戶的電子郵件地址或帳戶層級群組的名稱。
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

將外部位置標示為唯讀

如果您希望使用者具有外部位置的唯讀存取權,您可以使用目錄總管將外部位置標示為唯讀。

將外部位置設定為唯讀:

  • 防止使用者寫入這些外部位置的檔案,不論 Azure 受控識別授與的任何寫入許可權都低於記憶體認證,以及不論該外部位置上授與的 Unity 目錄許可權為何。
  • 防止使用者在這些外部位置建立數據表或磁碟區(無論是外部或受管理)。
  • 可讓系統在建立時正確驗證外部位置。

當您建立外部位置時,您可以將外部位置標示為唯讀。

您也可以在建立外部位置之後,使用目錄總管來變更唯讀狀態:

  1. 在提要欄位中,按兩下 目錄圖示[目錄]。
  2. 在畫面底部,按兩下 [外部資料 > 外部位置]。
  3. 選取外部位置,按兩下 Kebab 功能表 對象資料列上的Kebab功能表(也稱為三點功能表),然後選取[ 編輯]。
  4. 在 [編輯] 對話框中,選取 [ 只讀 ] 選項。

修改外部位置

外部位置的擁有者可以重新命名、變更 URI,以及變更外部位置的記憶體認證。

若要重新命名外部位置,請執行下列動作:

在筆記本或 Databricks SQL 編輯器中執行下列命令。 取代佔位元值:

  • <location-name>:位置的名稱。
  • <new-location-name>:位置的新名稱。
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

若要變更外部位置在您的雲端租使用者中指向的 URI,請執行下列動作:

在筆記本或 Databricks SQL 編輯器中執行下列命令。 取代佔位元值:

  • <location-name>:外部位置的名稱。
  • <url>:位置應授與雲端租使用者中存取權的新記憶體 URL。
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

即使外部數據表相依於外部位置,選項 FORCE 也會變更 URL。

若要變更外部位置使用的記憶體認證,請執行下列動作:

在筆記本或 Databricks SQL 編輯器中執行下列命令。 取代佔位元值:

  • <location-name>:外部位置的名稱。
  • <credential-name>:授與雲端租使用者中位置 URL 存取權的記憶體認證名稱。
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

刪除外部位置

若要刪除(卸除)外部位置,您必須是其擁有者。 若要刪除外部位置,請執行下列動作:

在筆記本或 Databricks SQL 編輯器中執行下列命令。 括弧中的項目是選擇性專案。 將取代 <location-name> 為外部位置的名稱。

DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;