Acquista e gestisci gli impegni per gli slot

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

Un impegno di capacità è un acquisto di capacità di calcolo BigQuery per per un periodo di tempo minimo. L'acquisto di un impegno di capacità è facoltativo quando creando una prenotazione con una versione, ma puoi consentono di risparmiare sui costi.

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

Abilita l'API Reservations

L'API BigQuery Reservation è diversa dall'API esistente nell'API BigQuery e deve essere abilitata in modo indipendente. Per ulteriori informazioni le informazioni, vedi 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 riservare capacità per un certo periodo di tempo minimo, puoi acquistare un 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à, è necessario quanto segue Autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin

Per saperne di più sui ruoli IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.

Crea un impegno di capacità

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

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. Se selezioni l'opzione Scalabilità automatica (edizione):
      1. Nell'elenco Edizione, seleziona la versione. Impegni in termini di capacità sono supportati solo nelle versioni Enterprise ed Enterprise Plus. La scalabilità automatica è disponibili all'interno di una versione. Per ulteriori informazioni sulle versioni, vedi Introduzione a BigQuery di Google Cloud.
    4. Seleziona la Durata dell'impegno, che specifica il tuo impegno. un piano di controllo.
    5. Se acquisti un impegno annuale, seleziona il campo Rinnovo che vuoi implementare alla scadenza dell'impegno:

      1. Rinnova annualmente. Alla scadenza, l'impegno annuale si rinnova per un altro anno come impegno annuale.

      Per maggiori informazioni, consulta Impegni.

    6. Inserisci il numero di slot che vuoi acquistare.

    7. 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. Dopo il viene eseguito il provisioning della capacità, l'impegno di capacità richiesto ha un'icona verde .

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

SQL

Per creare un impegno di capacità, utilizza CREATE CAPACITY Istruzione DDL.

  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,
      edition = EDITION,
      plan = 'PLAN_TYPE');
    

    Sostituisci quanto segue:

    • ADMIN_PROJECT_ID: l'ID progetto del progetto di amministrazione che manterrà la proprietà di questo impegno
    • LOCATION: il valore 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 devono contenere solo lettere minuscole lettere, numeri e trattini.

    • NUMBER_OF_SLOTS: il numero di slot da acquista
    • EDITION: la versione associata all'impegno di capacità. Puoi creare un impegno di capacità solo con le versioni Enterprise o Enterprise Plus. Per saperne di più sulle versioni, vedi Introduzione alle versioni di BigQuery.
    • PLAN_TYPE: il valore tipo di piano, ad esempio ANNUAL o THREE_YEAR.

  3. Fai clic su Esegui.

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

bq

Usa il comando bq mk con Flag --capacity_commitment per acquistare slot.

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    --edition=EDITION \
    --plan=PLAN_TYPE \
    --renewal_plan=RENEWAL_PLAN_TYPE \
    --slots=NUMBER_OF_SLOTS

Sostituisci quanto segue:

  • ADMIN_PROJECT_ID: l'ID progetto del progetto di amministrazione che manterrà la proprietà di questo impegno
  • LOCATION: la località dell'impegno
  • EDITION: la versione associata alla capacità l'impegno di un'azienda. Puoi creare un impegno di capacità solo con Enterprise o Versioni Enterprise Plus. Per ulteriori informazioni sulle versioni, consulta Introduzione alle Versioni di BigQuery.
  • PLAN_TYPE: il valore tipo di piano, ad esempio come ANNUAL o THREE_YEAR.
  • RENEWAL_PLAN_TYPE: il valore tipo di piano di rinnovo, ad esempio NONE, ANNUAL o THREE_YEAR.
  • NUMBER_OF_SLOTS: il numero di slot da acquisto.

Visualizza gli impegni in termini di capacità

Autorizzazioni obbligatorie

Per visualizzare gli impegni, è necessario quanto segue Identity and Access Management (IAM) autorizzazione:

Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione:

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

Per saperne di più sui ruoli IAM in BigQuery, vedi Autorizzazioni e ruoli 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. Sono elencati i tuoi impegni in termini di capacità nella tabella in Impegni.

SQL

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

  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

Usa il comando bq ls con 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à:

  • Aggiorna il piano di rinnovo dell'impegno
  • 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 avere quanto segue Autorizzazione Identity and Access Management (IAM):

Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione:

  • BigQuery Admin
  • BigQuery Resource Admin

Per saperne di più sui ruoli IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.

Rinnova un impegno

Gli impegni annuali hanno un piano di rinnovo, che specifichi quando a creare o convertire in un impegno annuale. Puoi modificare le impostazioni piano di rinnovo dell'impegno annuale in qualsiasi momento prima della relativa data di fine.

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. Clic Azioni, quindi seleziona l'opzione Modifica piano di rinnovo.

  6. Seleziona il nuovo piano di rinnovo.

bq

Per modificare la scelta del piano di rinnovo per un impegno annuale, utilizza la Comando bq update con 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 durata più lunga in qualsiasi momento.

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

Per convertire un impegno, utilizza Comando bq update con 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 valore tipo di piano, ad esempio come ANNUAL o THREE_YEAR.
  • RENEWAL_PLAN: il valore rinnovo piano

    Ciò si applica solo se PLAN_TYPE è ANNUAL.

  • 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 voglio rinnovare parte di un impegno. Ad esempio, se disponi di di 1000 slot all'anno, potresti suddividere 300 slot in un nuovo l'impegno originale, lasciando 700 slot nell'impegno originale. Poi puoi rinnovare 700 slot alla una tariffa annuale e converti 300 slot in un impegno di tre anni.

Quando suddividi un impegno, il nuovo impegno ha lo stesso piano e lo stesso 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 suddiviso, utilizza il cursore Configura la suddivisione per seleziona il numero di slot da inserire in ogni suddivisione, in incrementi di 100 slot.

  7. Fai clic su Dividi per suddividere l'impegno. Il nuovo impegno è elencato in 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 per l'unione devono essere tutti dello stesso tipo (ANNUAL o THREE_YEAR). Fine dell'impegno combinato è la data di fine massima dell'impegno originale impegni. Se qualcuno degli impegni ha una data di fine precedente, vengono estesi alla data successiva e ti viene addebitato un importo proporzionale tali 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

Scadenza impegno

Gli impegni scadono al termine della durata. Non puoi eliminare un impegno mentre è ancora attivo. Se il piano di rinnovo è impostato su NONE, l'impegno viene eliminato automaticamente. In caso contrario, viene rinnovata con una licenza annuale di tre anni, a seconda del piano di rinnovo. Per modificare il piano di rinnovo a NONE, segui i passaggi descritti in Rinnovare un impegno.

Gli slot di riferimento vengono sempre addebitati. Se un impegno di capacità scade, potresti devi regolare manualmente la quantità di slot di riferimento nelle prenotazioni per evitare addebiti indesiderati. Ad esempio, supponiamo che tu abbia una con 100 slot e una prenotazione con 100 slot di riferimento. La scade e non ha un piano di rinnovo. Alla scadenza dell'impegno, paghi per 100 slot di riferimento con pagamento a consumo di Google.

Controlla la creazione di impegni di capacità

Puoi utilizzare i criteri di negazione IAM per un ulteriore controllo su chi può creare impegni in termini di capacità.

È possibile creare criteri di negazione per un insieme o per tutti gli utenti e configurate con eccezioni e condizioni.

Ad esempio, il seguente criterio nega a tutti gli utenti l'autorizzazione a creare Impegni di capacità con l'eccezione dell'entità "lucian@example.com":

{
  "deniedPrincipals": [
    "principalSet://goog/public:all"
  ],
  "deniedPermissions": [
    "bigquery.googleapis.com/capacityCommitments.create"
  ],
  "exceptionPrincipals": [
    "principal://goog/subject/lucian@example.com"
  ]
}

Questo criterio può quindi essere collegato a un'organizzazione per controllare chi può creare gli impegni.

Tieni presente che questi criteri hanno la precedenza sui ruoli IAM, quindi anche un utente con il ruolo bigquery.admin non sarebbe in grado di creare un impegno a meno che il il criterio viene eliminato o modificato.

Per ulteriori informazioni, vedi Negare l'accesso alle risorse.

Risoluzione dei problemi relativi agli impegni in termini di capacità

Questa sezione descrive i passaggi per la risoluzione dei problemi che potrebbero essere utili se riscontrano problemi nell'uso di BigQuery Reservations.

Gli slot acquistati sono in attesa

Gli slot sono soggetti alla capacità disponibile. Quando acquisti impegni per gli slot BigQuery li alloca, poi la colonna Stato mostra un controllo . Se BigQuery non riesce ad allocare immediatamente gli slot richiesti, la colonna Stato rimane In attesa. Potresti dover attendere diverse ore per rendere disponibili gli slot. Se hai bisogno di accedere agli slot prima, prova la seguenti:

  1. Elimina l'impegno in attesa.
  2. Acquista un nuovo impegno per un numero inferiore di slot. In base a di capacità elevata, l'impegno minore potrebbe diventare attivo immediatamente.
  3. Acquista gli slot rimanenti come impegno separato. Questi slot possono vengono visualizzati come in attesa nella colonna Stato, ma in genere diventano attivi. nel giro di poche ore.
  4. (Facoltativo) Quando entrambi gli impegni sono disponibili, puoi: unirli in un unico impegno, purché tu acquistato lo stesso piano per entrambi.

Se un impegno di slot non riesce o richiede molto tempo, valuta la possibilità di utilizzare prezzi on demand temporaneamente. Con questo potrebbe essere necessario eseguire query critiche su un altro progetto non assegnato ad alcuna prenotazione o potresti dover rimuovere il progetto assegnata al suo interno.