Aggiorna un catalogo

L'aggiornamento di un catalogo (ad esempio un catalogo REST Apache Iceberg) consente di modificarne le proprietà, ad esempio la modalità delle credenziali, la posizione predefinita del warehouse o il tipo di catalogo sottostante.

Ad esempio, puoi eseguire l'upgrade di un catalogo con un solo bucket (gs://) a un tipo di catalogo con più bucket (bl://), che è l'opzione consigliata. L'upgrade del catalogo offre vantaggi significativi, ad esempio la possibilità di estendere il catalogo su più bucket di archiviazione.

Prima di iniziare

  1. Leggi l'articolo Informazioni sul catalogo runtime Lakehouse per capire come funziona il catalogo runtime Lakehouse e i limiti del servizio.
  2. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.

    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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per aggiornare un catalogo, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Aggiorna un catalogo

Puoi aggiornare un catalogo utilizzando la console Google Cloud , gcloud o l'API REST.

Console

  1. Nella console Google Cloud , apri la pagina Lakehouse.

    Vai a Lakehouse

  2. Nella riga del catalogo che vuoi aggiornare, fai clic su Altre azioni del catalogo > Modifica.

  3. In Configurazione catalogo, modifica le impostazioni che vuoi aggiornare.

  4. Seleziona Salva.

gcloud

Opzione 1: aggiorna le proprietà del catalogo

Per aggiornare le proprietà del catalogo (ad esempio la descrizione o le località con limitazioni), esegui il 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"]

Sostituisci quanto segue:

  • CATALOG_ID: l'ID del catalogo runtime Lakehouse.
  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • DESCRIPTION: (Facoltativo) una descrizione del catalogo.
  • CREDENTIAL_MODE: (facoltativo) il metodo di autenticazione. Utilizza end-user per Credenziali utente finale o vended-credentials per Modalità di distribuzione delle credenziali.
  • RESTRICTED_LOCATIONS: (facoltativo) un elenco separato da virgole di bucket o percorsi di archiviazione consentiti aggiuntivi. Attenzione: se specifichi più percorsi o bucket sovrapposti, ciò può causare conflitti di metadati, sovrascritture accidentali di dati o problemi di sicurezza come la perdita di autorizzazioni.

Opzione 2: esegui l'upgrade di un catalogo a un solo bucket (gs://) a un catalogo multi-bucket (bl://) (consigliata)

Per eseguire l'upgrade di un catalogo esistente con un solo bucket (gs://) a un catalogo con più bucket (bl://) (consigliato), esegui il comando gcloud beta biglake iceberg catalogs update e imposta il parametro --catalog-type su biglake:

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

REST

Opzione 1: aggiorna le proprietà del catalogo

Per modificare le proprietà di un catalogo (ad esempio la descrizione) utilizzando l'API REST, invia una richiesta PATCH all'endpoint UpdateIcebergCatalog con il updateMask appropriato:

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

Il corpo della richiesta deve contenere un payload JSON IcebergCatalog con i campi da aggiornare:

{
  "description": "Updated catalog description"
}

Opzione 2: esegui l'upgrade di un catalogo a un solo bucket (gs://) a un catalogo multi-bucket (bl://) (consigliata)

Per eseguire l'upgrade del tipo utilizzando l'API REST, invia una richiesta PATCH all'endpoint UpdateIcebergCatalog con catalogType in updateMask:

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

Il corpo della richiesta deve contenere un payload JSON IcebergCatalog con il nuovo tipo di catalogo:

{
  "catalogType": "BIGLAKE"
}

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • CATALOG_ID: l'ID del catalogo runtime Lakehouse.