Acquista e gestisci gli impegni slot legacy
L'API BigQuery Reservation 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 un periodo di tempo minimo. L'acquisto di un impegno di capacità è facoltativo quando si crea una prenotazione con una versione, ma può comportare 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 in regioni multiple. Gli impegni non possono essere spostati tra regioni o tra regioni e regioni multiple.
Abilita l'API Reservations
L'API BigQuery Reservation è diversa dall'API BigQuery esistente e deve essere abilitata in modo indipendente. Per scoprire di più, consulta Abilitazione e disattivazione delle API.
- Il nome dell'API è "API BigQuery Reservations"
- L'endpoint per l'API BigQuery Reservation è
bigqueryreservation.googleapis.com
.
Acquistare slot
Per prenotare capacità per un determinato periodo di tempo, puoi acquistare un impegno di capacità. In questo modo è possibile usufruire di uno sconto e risparmiare sui costi. Per ulteriori informazioni sui costi specifici, consulta la pagina relativa ai prezzi di BigQuery.
Autorizzazioni obbligatorie
Per creare un impegno di capacità, devi disporre della seguente autorizzazione IAM (Identity and Access Management):
bigquery.capacityCommitments.create
sul progetto di amministrazione che mantiene la proprietà degli impegni.
Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:
BigQuery Admin
BigQuery Resource Admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Autorizzazioni e ruoli 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 in regioni multiple. Gli impegni non possono essere spostati tra regioni e regioni multiple.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic su Crea impegno.
In Configura:
- Seleziona la località.
- Nella sezione Modello di capacità, seleziona il modello di capacità.
- Seleziona la Durata dell'impegno, che specifica il tuo piano di impegno.
Se acquisti un impegno annuale, seleziona il piano di rinnovo che vuoi che abbia effetto alla scadenza dell'impegno:
- Non rinnovare e converti in un impegno mensile (impostazione predefinita). Alla scadenza, l'impegno annuale viene convertito in un impegno mensile.
- Rinnovo annuale. Alla scadenza, l'impegno annuale viene rinnovato per un altro anno come impegno annuale.
- Non rinnovare e convertirlo in slot flessibili. Alla scadenza dell'impegno annuale, viene convertito in un impegno slot flessibile.
Per ulteriori informazioni, consulta la sezione Impegni.
Inserisci il Numero di slot che vuoi acquistare.
Tocca Avanti.
Esamina la stima del costo per il tuo acquisto.
In Conferma e invia:
- Digita Conferma per confermare l'acquisto.
- Fai clic su Acquista per acquistare gli slot.
Per visualizzare l'impegno, fai clic su Visualizza gli impegni slot. Dopo il provisioning della capacità, lo stato dell'impegno di capacità richiesto è verde.
La prima volta che acquisti capacità, viene creata una prenotazione default
.
SQL
Per creare un impegno di capacità, utilizza
l'istruzione DDL CREATE CAPACITY
.
Nella console Google Cloud, vai alla pagina BigQuery.
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 impegnoLOCATION
: la località dell'impegnoCOMMITMENT_ID
: l'ID dell'impegnoDeve 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 acquistarePLAN_TYPE
: il tipo di piano, ad esempioFLEX
,MONTHLY
oANNUAL
.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta 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 impegnoLOCATION
: la località dell'impegnoPLAN_TYPE
: il tipo di piano, ad esempioFLEX
,MONTHLY
oANNUAL
.NUMBER_OF_SLOTS
: il numero di slot da acquistare.
Visualizza impegni di capacità
Autorizzazioni obbligatorie
Per visualizzare gli impegni, devi disporre della seguente autorizzazione IAM (Identity and Access Management):
bigquery.capacityCommitments.list
sul progetto di amministrazione che mantiene la proprietà degli impegni.
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, consulta Autorizzazioni e ruoli predefiniti.
Visualizza gli impegni di capacità per progetto
Per visualizzare gli impegni di capacità per progetto:
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Impegni slot. I tuoi impegni in termini di capacità sono elencati nella tabella alla voce Impegni.
SQL
Per visualizzare gli impegni per un progetto di amministrazione, esegui una query nella vista INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
.
Nella console Google Cloud, vai alla pagina BigQuery.
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:
LOCATION
: la località degli impegniADMIN_PROJECT_ID
: l'ID del progetto di amministrazione a cui appartengono gli impegni
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta 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:
LOCATION
: la località degli impegniADMIN_PROJECT_ID
: l'ID del progetto di amministrazione a cui appartengono gli impegni
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 IAM (Identity and Access Management):
bigquery.capacityCommitments.update
sul progetto di amministrazione che mantiene la proprietà degli impegni.
Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:
BigQuery Admin
BigQuery Resource Admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Autorizzazioni e ruoli predefiniti.
Rinnova un impegno
Gli impegni annuali hanno un piano di rinnovo che devi specificare al momento della creazione o della conversione a un impegno annuale. Puoi modificare il piano di rinnovo del tuo impegno annuale in qualsiasi momento prima della data di fine dell'impegno.
Console
Puoi modificare il piano di rinnovo per un impegno annuale nel seguente modo:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Impegni slot.
Trova l'impegno che vuoi modificare.
Fai clic su
Azioni e poi seleziona l'opzione Modifica piano di rinnovo.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:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione che manterrà la proprietà di questo impegnoLOCATION
: la località dell'impegnoPLAN_TYPE
: il tipo di piano, ad esempioFLEX
,MONTHLY
oANNUAL
.COMMITMENT_ID
: l'ID dell'impegnoPer ottenere l'ID, consulta Visualizzare gli impegni acquistati.
Converti un impegno in una durata maggiore
Puoi scegliere di convertire il tuo impegno in un tipo di impegno di durata maggiore in qualsiasi momento:
- Puoi convertire l'impegno di 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
: l'ID progettoLOCATION
: la località dell'impegnoPLAN_TYPE
: il tipo di piano, ad esempioFLEX
,MONTHLY
oANNUAL
.RENEWAL_PLAN
: il piano di rinnovoCiò si applica solo se
PLAN_TYPE
èANNUAL
. SePLAN_TYPE
èMONTHLY
, ometti questo flag.COMMITMENT_ID
: l'ID dell'impegnoPer ottenere l'ID, consulta Visualizzare gli impegni acquistati.
Suddividi 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 suddividere 300 slot in un nuovo impegno, lasciando 700 slot nell'impegno originale. Puoi 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 dell'impegno originale.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Impegni slot.
Seleziona l'impegno che vuoi suddividere.
Fai clic su Dividi.
Nella pagina Impegno suddiviso, utilizza il cursore Configura suddivisione per selezionare il numero di slot da inserire in ogni suddivisione, in incrementi di 100 slot.
Fai clic su Dividi per suddividere l'impegno. Il nuovo impegno è elencato nella scheda Impegni slot.
bq
Per suddividere gli impegni, utilizza 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
: l'ID progettoLOCATION
: la località dell'impegnoSLOTS_TO_SPLIT
: il numero di slot da suddividere dall'impegno originale a un nuovo impegnoCOMMITMENT_ID
: l'ID dell'impegnoPer 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 uno degli impegni ha una data di fine precedente, viene esteso alla data successiva e ti viene addebitato un importo proporzionale per gli slot.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Impegni slot.
Seleziona gli impegni che vuoi unire.
Fai clic su Unisci.
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
: l'ID progettoLOCATION
: la località degli impegniCOMMITMENT1
: il primo impegno da unireCOMMITMENT2
: 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 è visualizzata nella console Google Cloud. Prima di eliminare un impegno, assicurati che sia presente 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 IAM (Identity and Access Management):
bigquery.capacityCommitments.delete
sul progetto di amministrazione che mantiene la proprietà degli impegni.
Ciascuno dei seguenti ruoli IAM predefiniti include questa autorizzazione:
BigQuery Admin
BigQuery Resource Admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Autorizzazioni e ruoli predefiniti.
Eliminazione di un impegno di capacità
Console
Per eliminare un impegno di capacità, completa i seguenti passaggi:
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Impegni slot.
Nell'elenco a discesa Località, seleziona la località appropriata.
Trova l'impegno che vuoi eliminare.
Espandi l'opzione
Azioni.Fai clic su Elimina.
Digita "RIMUOVI" e fai clic su Procedi.
SQL
Per eliminare un impegno di capacità, utilizza
l'istruzione DDL DROP CAPACITY
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'Editor query, inserisci la seguente istruzione:
DROP CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: il progetto proprietario dell'impegnoLOCATION
: la località dell'impegnoCOMMITMENT_ID
: l'ID dell'impegnoPer ottenere l'ID, consulta Visualizzare gli impegni acquistati.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta 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:
ADMIN_PROJECT_ID
: l'ID progettoLOCATION
: la località dell'impegnoCOMMITMENT_ID
: l'ID dell'impegno da eliminarePer ottenere l'ID, consulta Visualizzare gli impegni acquistati.
Risoluzione dei problemi relativi agli impegni in termini di capacità
Questa sezione descrive i passaggi per la risoluzione dei problemi che potrebbero esserti utili in caso di problemi con le prenotazioni di BigQuery.
Gli slot acquistati sono in attesa
Gli slot sono soggetti alla capacità disponibile. Quando acquisti impegni slot e BigQuery li alloca, la colonna Stato mostra un segno di spunta. Se BigQuery non può 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 più rapidamente agli slot, prova a procedere nel seguente modo:
- Elimina l'impegno in attesa.
- Acquista un nuovo impegno per un numero inferiore di slot. A seconda della capacità, l'impegno minore potrebbe diventare attivo immediatamente.
- Acquista gli slot rimanenti come impegno separato. Queste aree potrebbero essere visualizzate come In attesa nella colonna Stato, ma di solito diventano attive entro alcune ore.
- (Facoltativo) Quando sono disponibili entrambi gli impegni, puoi unirli in un unico impegno, a condizione che tu abbia acquistato lo stesso piano per entrambi.
Se un impegno slot non va a buon fine o il suo completamento richiede molto tempo, valuta la possibilità di utilizzare temporaneamente i prezzi on demand. Con questa soluzione, potrebbe essere necessario eseguire query critiche su un progetto diverso non assegnato ad alcuna prenotazione oppure potrebbe essere necessario rimuovere completamente l'assegnazione del progetto.