更新目录(例如 Apache Iceberg REST 目录)可让您修改其属性,例如凭证模式、默认仓库位置或底层目录类型。例如,您可以将旧版 Cloud Storage 存储桶目录(gs:// 目录)升级到 BigLake 目录(bl:// 目录)。
准备工作
-
验证是否已为您的 Google Cloud 项目启用结算功能。
-
启用 BigLake API。
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。
所需的角色
如需获取更新目录所需的权限,请让管理员向您授予以下 IAM 角色:
-
全部:
- BigLake Admin (
roles/biglake.admin) 针对项目的 - 针对项目的 Storage Admin (
roles/storage.admin)
- BigLake Admin (
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。
更新目录
您可以更新目录的配置,例如修改其说明、凭证模式或允许的位置。
此外,您还可以将现有 Cloud Storage 存储桶目录(旧版 gs:// 目录)升级 到 BigLake 目录(bl://
目录)。升级后的目录会保留原始存储桶的名称。升级后,您可以关联多个存储分区并配置受限位置。
您可以使用
Google Cloud 控制台、gcloud或 REST API 更新目录。
控制台
在 Google Cloud 控制台中,打开 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 修改目录或升级其类型,请使用适当的 updateMask 向 UpdateIcebergCatalog 端点发出 PATCH 请求
:
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。