Acquista e gestisci impegni slot legacy

L'API BigQuery Reservation consente di acquistare slot dedicati (chiamati impegni), creare pool di slot (prenotazioni) e assegnare progetti, cartelle e organizzazioni a queste prenotazioni.

Un impegno di capacità è un acquisto di capacità di calcolo BigQuery per un periodo di tempo minimo. L'acquisto di un impegno di capacità è facoltativo quando crei una prenotazione con una versione, ma può offrire risparmi sui costi.

Gli impegni sono una risorsa di regione. Gli impegni acquistati in una o più regioni non possono essere utilizzati in altre regioni o regioni multiple. Gli impegni non possono essere spostati tra regioni o tra regioni e più regioni.

Abilita l'API Reservations

L'API BigQuery Reservation è diversa dall'API BigQuery esistente e deve essere abilitata in modo indipendente. Per ulteriori informazioni, consulta Attivazione e disattivazione delle API.

  • Il nome dell'API è "API BigQuery Reservations"
  • L'endpoint per l'API BigQuery Reservation è bigqueryreservation.googleapis.com.

Abilita API.

Acquistare slot

Per prenotare capacità per un periodo di tempo minimo, puoi acquistare un impegno di capacità. In questo modo ottieni uno sconto e puoi risparmiare sui costi. Per ulteriori informazioni sui costi specifici, vedi Prezzi di BigQuery.

Autorizzazioni obbligatorie

Per creare un impegno di capacità, devi disporre della seguente autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin

Per ulteriori informazioni sui ruoli IAM in BigQuery, vedi Ruoli e autorizzazioni predefiniti.

Crea un impegno di capacità

Gli impegni sono una risorsa di regione. Gli impegni acquistati in una o più regioni non possono essere utilizzati in altre regioni o regioni multiple. Gli impegni non possono essere spostati tra regioni o tra regioni e regioni multiple.

Console

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic su Crea impegno.

  4. In Configura:

    1. Seleziona la località.
    2. Nella sezione Modello di capacità, seleziona il modello di capacità.
    3. Seleziona la Durata dell'impegno, che specifica il tuo piano di impegno.
    4. Se acquisti un impegno annuale, seleziona il piano di rinnovo che vuoi applicare alla scadenza dell'impegno:

      1. Non rinnovare e converti in un impegno mensile (opzione predefinita). Alla scadenza dell'impegno annuale, questo viene convertito in impegno mensile.
      2. Rinnova annualmente. Alla scadenza, l'impegno annuale si rinnoverà per un altro anno.
      3. Non rinnovare e converti in slot flessibili. Alla scadenza dell'impegno annuale, questo viene convertito in impegno di slot flessibili.

      Per maggiori informazioni, consulta Impegni.

    5. Inserisci il numero di slot che vuoi acquistare.

    6. Fai clic su Avanti.

  5. Controlla la stima del costo per il tuo acquisto.

  6. In Conferma e invia:

    1. Digita CONFERMA per confermare l'acquisto.
    2. Fai clic su Acquista per acquistare gli slot.
  7. Per visualizzare l'impegno, fai clic su Visualizza impegni slot. Una volta eseguito il provisioning della capacità, l'impegno di capacità richiesto è verde.

    Impegni slot.

La prima volta che acquisti capacità viene creata una prenotazione default.

SQL

Per creare un impegno di capacità, utilizza l'istruzione DDL CREATE CAPACITY.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor query, inserisci la seguente istruzione:

    CREATE CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`
    OPTIONS (
      slot_count = NUMBER_OF_SLOTS,
      plan = 'PLAN_TYPE');
    

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione che manterrà la proprietà di questo impegno
    • LOCATION: la località dell'impegno
    • COMMITMENT_ID: l'ID dell'impegno

      Deve essere univoco per il progetto e la località. Deve iniziare e terminare con una lettera minuscola o un numero e contenere solo lettere minuscole, numeri e trattini.

    • NUMBER_OF_SLOTS: il numero di slot da acquistare
    • PLAN_TYPE: il tipo di piano, ad esempio FLEX, MONTHLY o ANNUAL.

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.

bq

Utilizza il comando bq mk con il flag --capacity_commitment per acquistare slot.

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    --plan=PLAN_TYPE \
    --slots=NUMBER_OF_SLOTS

Sostituisci quanto segue:

  • ADMIN_PROJECT_ID: l'ID del progetto di amministrazione che manterrà la proprietà di questo impegno
  • LOCATION: la località dell'impegno
  • PLAN_TYPE: il tipo di piano, ad esempio FLEX, MONTHLY o ANNUAL.
  • NUMBER_OF_SLOTS: il numero di slot da acquistare.

Visualizza gli impegni in termini di capacità

Autorizzazioni obbligatorie

Per visualizzare gli impegni, devi disporre della seguente autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor
  • BigQuery Resource Viewer
  • BigQuery User

Per ulteriori informazioni sui ruoli IAM in BigQuery, vedi Ruoli e autorizzazioni predefiniti.

Visualizza gli impegni in termini di capacità per progetto

Per visualizzare gli impegni in termini di capacità per progetto:

Console

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic sulla scheda Impegni slot. Gli impegni in termini di capacità sono elencati nella tabella in Impegni.

    Impegni slot.

SQL

Per visualizzare gli impegni per un progetto di amministrazione, esegui una query sulla vista INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor query, inserisci la seguente istruzione:

    SELECT
      capacity_commitment_id
    FROM
      `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
    WHERE
      project_id = 'ADMIN_PROJECT_ID'
      AND slot_count = 100;
    

    Sostituisci quanto segue:

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.

bq

Utilizza il comando bq ls con il flag --capacity_commitment per elencare gli impegni per un progetto di amministrazione.

bq ls \
    --capacity_commitment=true \
    --location=LOCATION \
    --project_id=ADMIN_PROJECT_ID

Sostituisci quanto segue:

Aggiornamento impegni relativi alla capacità

Puoi apportare i seguenti aggiornamenti a un impegno di capacità:

  • Rinnova un impegno esistente.
  • Converti un impegno in un piano di impegno con una durata più lunga.
  • Suddividi un impegno in due impegni.
  • Unisci due impegni in un unico impegno.

Autorizzazioni obbligatorie

Per aggiornare gli impegni di capacità, devi disporre della seguente autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin

Per ulteriori informazioni sui ruoli IAM in BigQuery, vedi Ruoli e autorizzazioni predefiniti.

Rinnova un impegno

Gli impegni annuali hanno un piano di rinnovo che specifichi quando crei o passi a un impegno annuale. Puoi modificare il piano di rinnovo dell'impegno annuale in qualsiasi momento prima della data di fine dell'impegno.

Console

Puoi cambiare il piano di rinnovo per un impegno annuale come segue:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic sulla scheda Impegni slot.

  4. Trova l'impegno che vuoi modificare.

  5. Fai clic su Azioni e seleziona l'opzione Modifica piano di rinnovo.

  6. Seleziona il nuovo piano di rinnovo.

bq

Per cambiare la scelta del piano di rinnovo per un impegno annuale, utilizza il comando bq update con il flag --capacity_commitment e il flag --renewal_plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --renewal_plan=PLAN_TYPE \
    --capacity_commitment=true \
    COMMITMENT_ID

Sostituisci quanto segue:

Converti un impegno in una durata maggiore

Puoi scegliere di convertire il tuo impegno in un tipo di impegno di maggiore durata in qualsiasi momento:

  • Puoi convertire il tuo impegno per slot flessibili in un impegno mensile o annuale.
  • Puoi convertire il tuo impegno mensile in un impegno annuale.

Non appena aggiorni l'impegno, ti viene addebitata la tariffa associata al nuovo piano e la data di fine viene reimpostata.

Per convertire un impegno, utilizza il comando bq update con il flag --plan.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --plan=PLAN_TYPE \
    --renewal_plan=RENEWAL_PLAN \
    --capacity_commitment=true \
    COMMITMENT_ID

Sostituisci quanto segue:

  • ADMIN_PROJECT_ID: ID progetto
  • LOCATION: la località dell'impegno
  • PLAN_TYPE: il tipo di piano, ad esempio FLEX, MONTHLY o ANNUAL.
  • RENEWAL_PLAN: il piano di rinnovo

    Questo si applica solo se PLAN_TYPE è ANNUAL. Se PLAN_TYPE è MONTHLY, ometti questo flag.

  • COMMITMENT_ID: l'ID dell'impegno

    Per ottenere l'ID, consulta Visualizzare gli impegni acquistati.

Dividi un impegno

Puoi suddividere il tuo impegno in due impegni. Questo può essere utile se vuoi rinnovare parte di un impegno. Ad esempio, se hai un impegno annuale di 1000 slot, potresti ripartire 300 slot in un nuovo impegno, lasciando 700 slot nell'impegno originale. Potrai quindi rinnovare 700 slot alla tariffa annuale e convertire 300 slot in slot flessibili dopo la data di fine.

Quando suddividi un impegno, il nuovo impegno ha lo stesso piano e la stessa data di fine dell'impegno originale.

Console

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic sulla scheda Impegni slot.

  4. Seleziona l'impegno che vuoi suddividere.

  5. Fai clic su Dividi.

  6. Nella pagina Impegno di suddivisione, utilizza il cursore Configura suddivisione per selezionare il numero di slot da inserire in ogni suddivisione, con incrementi di 100 slot.

  7. Fai clic su Dividi per suddividere l'impegno. Il nuovo impegno è elencato nella scheda Impegni slot.

bq

Per suddividere gli impegni, usa il comando bq update.

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --split \
    --slots=SLOTS_TO_SPLIT \
    --capacity_commitment=true \
    COMMITMENT_ID

Sostituisci quanto segue:

  • ADMIN_PROJECT_ID: ID progetto
  • LOCATION: la località dell'impegno
  • SLOTS_TO_SPLIT: il numero di slot da suddividere dall'impegno originale a un nuovo impegno
  • COMMITMENT_ID: l'ID dell'impegno

    Per ottenere l'ID, consulta Visualizzare gli impegni acquistati.

Unisci due impegni

Puoi unire più impegni in un unico impegno. Gli impegni di unione devono essere tutti dello stesso tipo (FLEX, MONTHLY, ANNUAL o THREE_YEAR). La data di fine dell'impegno combinato è la data di fine massima degli impegni originali. Se alcuni degli impegni hanno una data di fine precedente, vengono estesi alla data successiva e ti verrà addebitato un importo proporzionale per questi slot.

Console

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic sulla scheda Impegni slot.

  4. Seleziona gli impegni che vuoi unire.

  5. Fai clic su Unisci.

  6. Nella pagina Unisci impegni, esamina i dettagli dell'unione e fai clic su Unisci. Il nuovo impegno unito è elencato nella scheda Impegni slot.

bq

Per unire due impegni in un unico impegno, utilizza il comando bq update:

bq update \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --merge=true \
    --capacity_commitment=true \
    COMMITMENT1,COMMITMENT2

Sostituisci quanto segue:

  • ADMIN_PROJECT_ID: ID progetto
  • LOCATION: la località degli impegni
  • COMMITMENT1: il primo impegno da unire
  • COMMITMENT2: il secondo impegno da unire

Elimina un impegno

Puoi eliminare un impegno di capacità se la sua data di fine è nel passato. La data di fine dell'impegno viene visualizzata nella console Google Cloud. Prima di eliminare un impegno, assicurati che ci sia un numero sufficiente di slot non allocati. In caso contrario, devi ridurre il numero di slot in una prenotazione o rimuovere completamente le prenotazioni.

Autorizzazioni obbligatorie

Per eliminare gli impegni di capacità, devi disporre della seguente autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin

Per ulteriori informazioni sui ruoli IAM in BigQuery, vedi Ruoli e autorizzazioni predefiniti.

Eliminazione di un impegno di capacità

Console

Per eliminare un impegno di capacità, completa i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel pannello di navigazione, vai alla sezione Gestione della capacità.

  3. Fai clic sulla scheda Impegni slot.

  4. Nell'elenco a discesa Località, seleziona la località appropriata.

  5. Trova l'impegno che vuoi eliminare.

  6. Espandi l'opzione Azioni.

  7. Fai clic su Elimina.

  8. Digita "RIMUOVI" e fai clic su Procedi.

SQL

Per eliminare un impegno di capacità, utilizza l'istruzione DDL DROP CAPACITY.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor query, inserisci la seguente istruzione:

    DROP CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;
    

    Sostituisci quanto segue:

  3. Fai clic su Esegui.

Per ulteriori informazioni su come eseguire le query, vedi Eseguire una query interattiva.

bq

Per eliminare un impegno di capacità, utilizza il comando bq rm con il flag --capacity_commitment:

bq rm \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    COMMITMENT_ID

Sostituisci quanto segue:

Risoluzione dei problemi relativi agli impegni in termini di capacità

Questa sezione descrive i passaggi per la risoluzione dei problemi, utili in caso di problemi nell'utilizzo di Prenotazioni BigQuery.

Gli slot acquistati sono in attesa

Gli slot sono soggetti alla capacità disponibile. Quando acquisti impegni di slot e BigQuery li alloca, la colonna Stato mostra un segno di spunta. Se BigQuery non riesce ad allocare immediatamente gli slot richiesti, la colonna Stato rimane In attesa. Potresti dover attendere diverse ore prima che gli slot diventino disponibili. Se hai bisogno di accedere agli slot prima, prova a seguire questi passaggi:

  1. Elimina l'impegno in attesa.
  2. Acquista un nuovo impegno per un numero inferiore di slot. A seconda della capacità, l'impegno più piccolo potrebbe diventare attivo immediatamente.
  3. Acquista gli slot rimanenti come impegno separato. Questi slot potrebbero essere visualizzati come in attesa nella colonna Stato, ma in genere diventano attivi entro alcune ore.
  4. (Facoltativo) Quando sono disponibili entrambi gli impegni, puoi unirli in un unico impegno, a condizione di aver acquistato lo stesso piano per entrambi.

Se un impegno di slot non va a buon fine o richiede molto tempo per essere completato, valuta la possibilità di utilizzare temporaneamente i prezzi on demand. Con questa soluzione, potresti dover eseguire query critiche su un progetto diverso non assegnato ad alcuna prenotazione o potresti dover rimuovere completamente l'assegnazione del progetto.