Actualizar un catálogo

Actualizar un catálogo (como un catálogo de REST de Apache Iceberg) te permite modificar sus propiedades, como el modo de credenciales, la ubicación predeterminada del almacén de datos o el tipo de catálogo subyacente.

Por ejemplo, puedes actualizar un catálogo de un solo bucket (gs://) a un catálogo de varios buckets (bl://) (recomendado). Actualizar tu catálogo proporciona beneficios significativos, como permitir que tu catálogo abarque varios buckets de almacenamiento.

Antes de comenzar

  1. Lee Acerca del catálogo de entorno de ejecución de Lakehouse para comprender cómo funciona el catálogo de entorno de ejecución de Lakehouse y las limitaciones del servicio.
  2. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Roles obligatorios

Para obtener los permisos que necesitas para actualizar un catálogo, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Actualizar un catálogo

Puedes actualizar un catálogo con la Google Cloud consola, gcloud, o la API de REST.

Console

  1. En la Google Cloud consola, abre la Lakehouse.

    Ir a Lakehouse

  2. En la fila del catálogo que deseas actualizar, haz clic en Más acciones del catálogo > Editar.

  3. En Configuración del catálogo, modifica la configuración que deseas actualizar.

  4. Selecciona Guardar.

gcloud

Opción 1: Actualiza las propiedades del catálogo

Para actualizar las propiedades del catálogo (como la descripción o las ubicaciones restringidas), ejecuta el comando 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"]

Reemplaza lo siguiente:

  • CATALOG_ID: Es el ID de tu catálogo de entorno de ejecución de Lakehouse.
  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • DESCRIPTION: Es una descripción del catálogo (opcional).
  • CREDENTIAL_MODE: Es el método de autenticación (opcional). Usa end-user para Credenciales de usuario final o vended-credentials para Modo de venta de credenciales.
  • RESTRICTED_LOCATIONS: Es una lista separada por comas de buckets o rutas de almacenamiento adicionales permitidos (opcional). Precaución: Si especificas varias rutas o buckets superpuestos, esto puede provocar conflictos de metadatos, sobrescrituras accidentales de datos o problemas de seguridad, como la filtración de permisos.

Opción 2: Actualiza un catálogo de un solo bucket (gs://) a un catálogo de varios buckets (bl://) (recomendado)

Para actualizar un catálogo existente de un solo bucket (gs://) a un catálogo de varios buckets (bl://) (recomendado), ejecuta el gcloud beta biglake iceberg catalogs update comando y establece el --catalog-type parámetro en biglake:

gcloud beta biglake iceberg catalogs update CATALOG_ID \
    --project="PROJECT_ID" \
    --catalog-type="biglake"

REST

Opción 1: Actualiza las propiedades del catálogo

Para modificar las propiedades de un catálogo (como su descripción) con la API de REST, realiza una solicitud PATCH al extremo UpdateIcebergCatalog con el updateMask adecuado:

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

El cuerpo de la solicitud debe contener una carga útil de JSON IcebergCatalog con los campos que se actualizarán:

{
  "description": "Updated catalog description"
}

Opción 2: Actualiza un catálogo de un solo bucket (gs://) a un catálogo de varios buckets (bl://) (recomendado)

Para actualizar su tipo con la API de REST, realiza una PATCH solicitud al UpdateIcebergCatalog extremo con el catalogType en el updateMask:

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

El cuerpo de la solicitud debe contener una carga útil de JSON IcebergCatalog con el nuevo tipo de catálogo:

{
  "catalogType": "BIGLAKE"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • CATALOG_ID: Es el ID de tu catálogo de entorno de ejecución de Lakehouse.