更新目錄

更新目錄 (例如 Apache Iceberg REST 目錄) 可修改其屬性,例如憑證模式、預設倉庫位置或基礎目錄類型。舉例來說,您可以將舊版 Cloud Storage bucket 目錄 (gs:// 目錄) 升級為 BigLake 目錄 (bl:// 目錄)。

事前準備

  1. 確認專案已啟用計費功能 Google Cloud

  2. 啟用 BigLake API。

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

必要的角色

如要取得更新目錄所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

更新目錄

您可以更新目錄的設定,例如修改說明、憑證模式或允許的位置。

此外,您也可以將現有的 Cloud Storage bucket 目錄 (舊版 gs:// 目錄)升級為 BigLake 目錄 (bl:// 目錄)。升級後的目錄會保留原始 bucket 的名稱。升級後,您可以關聯多個值區,並設定受限位置。

你可以使用Google Cloud 控制台、gcloud或 REST API 更新目錄。

控制台

  1. 在 Google Cloud 控制台中開啟「Lakehouse」Lakehouse頁面。

    前往 Lakehouse

  2. 在要更新的目錄資料列中,依序點選 「更多目錄動作」>「編輯」

  3. 在「目錄設定」下方,修改要更新的設定。

  4. 選取「儲存」

gcloud

使用 gcloud beta biglake iceberg catalogs update 指令。

gcloud beta biglake iceberg catalogs update CATALOG_ID \
    --project="PROJECT_ID" \
    [--description="DESCRIPTION"] \
    [--credential-mode="CREDENTIAL_MODE"] \
    [--restricted-locations="RESTRICTED_LOCATIONS"] \
    [--catalog-type=biglake]

更改下列內容:

  • CATALOG_ID:Lakehouse 執行階段目錄的 ID。
  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • DESCRIPTION:(選用) 目錄的說明。
  • CREDENTIAL_MODE:(選用) 驗證方式。使用 end-user 取得使用者憑證,或使用 vended-credentials 取得憑證臨時配發模式
  • RESTRICTED_LOCATIONS:(選用) 以半形逗號分隔的額外允許儲存空間值區或路徑清單。

REST

如要使用 REST API 修改目錄或升級目錄類型,請對 UpdateIcebergCatalog 端點發出 PATCH 要求,並附上適當的 updateMask

PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.catalogType,icebergCatalog.description

要求主體必須包含 IcebergCatalog JSON 酬載,以及要更新的欄位:

{
  "catalogType": "BIGLAKE",
  "description": "Updated catalog description"
}

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • CATALOG_ID:Lakehouse 執行階段目錄的 ID。