更新目录

更新目录(例如 Apache Iceberg REST 目录)可让您修改其属性,例如凭证模式、默认仓库位置或底层目录类型。例如,您可以将旧版 Cloud Storage 存储桶目录(gs:// 目录)升级到 BigLake 目录(bl:// 目录)。

准备工作

  1. 验证是否已为您的 Google Cloud 项目启用结算功能。

  2. 启用 BigLake API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

    启用 API

所需的角色

如需获取更新目录所需的权限,请让管理员向您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

更新目录

您可以更新目录的配置,例如修改其说明、凭证模式或允许的位置。

此外,您还可以将现有 Cloud Storage 存储桶目录(旧版 gs:// 目录)升级 到 BigLake 目录(bl:// 目录)。升级后的目录会保留原始存储桶的名称。升级后,您可以关联多个存储分区并配置受限位置。

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

控制台

  1. 在 Google Cloud 控制台中,打开 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 修改目录或升级其类型,请使用适当的 updateMaskUpdateIcebergCatalog 端点发出 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。