更新目錄 (例如 Apache Iceberg REST 目錄) 可修改其屬性,例如憑證模式、預設倉庫位置或基礎目錄類型。舉例來說,您可以將舊版 Cloud Storage bucket 目錄 (gs:// 目錄) 升級為 BigLake 目錄 (bl:// 目錄)。
事前準備
-
啟用 BigLake API。
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。
必要的角色
如要取得更新目錄所需的權限,請要求管理員授予您下列 IAM 角色:
-
全部:
- 專案的 BigLake 管理員 (
roles/biglake.admin) - 專案的儲存空間管理員 (
roles/storage.admin)
- 專案的 BigLake 管理員 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
更新目錄
您可以更新目錄的設定,例如修改說明、憑證模式或允許的位置。
此外,您也可以將現有的 Cloud Storage bucket 目錄 (舊版 gs:// 目錄)升級為 BigLake 目錄 (bl:// 目錄)。升級後的目錄會保留原始 bucket 的名稱。升級後,您可以關聯多個值區,並設定受限位置。
你可以使用Google Cloud 控制台、gcloud或 REST API 更新目錄。
控制台
在 Google Cloud 控制台中開啟「Lakehouse」Lakehouse頁面。
在要更新的目錄資料列中,依序點選 「更多目錄動作」>「編輯」。
在「目錄設定」下方,修改要更新的設定。
選取「儲存」。
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。