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 un determinato 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. Gli impegni acquistati in una o più regioni non possono essere utilizzati in altre regioni o in più regioni. 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 maggiori 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
.
Acquistare slot
Per prenotare la capacità per un periodo di tempo minimo, puoi acquistare un impegno di capacità. In questo modo puoi usufruire di uno sconto e risparmiare sui costi. Per ulteriori informazioni sui costi specifici, consulta la pagina Prezzi di BigQuery.
Autorizzazioni obbligatorie
Per creare un impegno di capacità, devi disporre della seguente autorizzazione IAM (Identity and Access Management):
bigquery.capacityCommitments.create
nel progetto di amministrazione che mantiene la proprietà degli impegni.
Ogni uno dei seguenti ruoli IAM predefiniti include questa autorizzazione:
BigQuery Admin
BigQuery Resource Admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Creare 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 più regioni. Gli impegni non possono essere spostati da una regione all'altra o tra regioni e più regioni.
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à.
- Se selezioni l'opzione Scalabilità automatica (edizione):
- 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.
- Seleziona la Durata impegno, che specifica il piano di impegno.
Se acquisti un impegno annuale, seleziona il campo Rinnovo che vuoi implementare alla scadenza dell'impegno:
- Rinnovare ogni anno. Alla scadenza dell'impegno annuale, l'abbonamento si rinnova per un altro anno come impegno annuale.
Per maggiori informazioni, consulta Impegni.
Inserisci il numero di slot che vuoi acquistare.
Fai clic su Avanti.
Controlla 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 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 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, edition = EDITION, plan = 'PLAN_TYPE');
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID progetto del progetto di amministrazione che manterrà la proprietà di questo impegnoLOCATION
: il 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 acquistaEDITION
: la versione associata all'impegno di capacità. Puoi creare un impegno di capacità solo con le versioni Enterprise o Enterprise Plus. Per scoprire di più sulle versioni, consulta Introduzione alle versioni di BigQuery.PLAN_TYPE
: il tipo di piano, ad esempioANNUAL
oTHREE_YEAR
.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta 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 impegnoLOCATION
: la località dell'impegnoEDITION
: la versione associata alla capacità l'impegno di un'azienda. Puoi creare un impegno di capacità solo con le versioni Enterprise o Enterprise Plus. Per ulteriori informazioni sulle versioni, consulta Introduzione a Versioni di BigQuery.PLAN_TYPE
: il tipo di piano, ad esempio comeANNUAL
oTHREE_YEAR
.RENEWAL_PLAN_TYPE
: il tipo di piano di rinnovo, ad esempioNONE
,ANNUAL
oTHREE_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:
bigquery.capacityCommitments.list
nel progetto di amministrazione che mantiene la proprietà degli impegni.
Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery Resource Viewer
BigQuery User
Per ulteriori informazioni sui ruoli IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.
Visualizzare gli impegni di capacità per progetto
Per visualizzare gli impegni in termini 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 di capacità sono elencati nella tabella in Impegni.
SQL
Per visualizzare gli impegni per un progetto di amministrazione, esegui una query sulla
visualizzazione 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
: il località degli impegniADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario degli impegni
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta 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:
LOCATION
: la località degli impegniADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario degli impegni
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 disporre della seguente autorizzazione IAM (Gestione di identità e accessi):
bigquery.capacityCommitments.update
il progetto di amministrazione che mantenga la proprietà degli impegni.
Ciascuno dei seguenti ruoli IAM predefiniti include autorizzazione:
BigQuery Admin
BigQuery Resource Admin
Per ulteriori informazioni sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni 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 il piano di rinnovo dell'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.
Clic
Azioni, quindi seleziona l'opzione Modifica piano di rinnovo.Seleziona il nuovo piano di rinnovo.
bq
Per modificare 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 posizione dell'impegnoPLAN_TYPE
: il tipo di piano, ad esempio comeANNUAL
oTHREE_YEAR
.COMMITMENT_ID
: l'ID dell'impegnoPer ottenere l'ID, consulta Visualizza 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.
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
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
: l'ID progettoLOCATION
: la località dell'impegnoPLAN_TYPE
: il tipo di piano, ad esempio comeANNUAL
oTHREE_YEAR
.RENEWAL_PLAN
: il rinnovo pianoQuesto vale solo se
PLAN_TYPE
èANNUAL
.COMMITMENT_ID
: l'ID dell'impegnoPer ottenere l'ID, consulta Visualizza gli impegni acquistati.
Suddividere un impegno
Puoi suddividere l'impegno in due impegni. Questa operazione può essere utile se vuoi rinnovare parte di un impegno. Ad esempio, se hai un impegno annuale di 1000 slot, puoi suddividere 300 slot in un nuovo impegno, 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 dividi un impegno, il nuovo impegno ha lo stesso piano e la stessa data di fine 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 dispositivo di scorrimento Configura suddivisione per selezionare il numero di slot da includere in ogni suddivisione, con incrementi di 100 slot.
Fai clic su Dividi per suddividere l'impegno. Il nuovo impegno è elencato in 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 posizione dell'impegnoSLOTS_TO_SPLIT
: il numero di slot da suddividere dall'impegno originale in 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 da unire devono essere tutti dello stesso tipo (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 in questione.
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 di unione
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 rinnovato con un impegno annuale o 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.
Dopo il rinnovo di un impegno, il valore dell'ora di inizio rimane invariato. it si riferisce all'ora di inizio dell'impegno originale. Il valore di Ora di fine è l'ora di scadenza dell'impegno rinnovato. Ad esempio, se hai un piano annuale impegno creato il 13 dicembre 2022 e si rinnova il 13 dicembre 2023. Se visualizzi i dettagli dell'impegno il 14 dicembre 2023, il valore L'ora di inizio sarà il 13 dicembre 2022 e il valore dell'ora di fine sarebbe il 12 dicembre 2024.
Gli slot di riferimento vengono sempre addebitati. Se un impegno di capacità scade, potresti dover 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. L'impegno scade e non è previsto un piano di rinnovo. Alla scadenza dell'impegno, paghi per 100 slot di riferimento con pagamento a consumo di Google.
Controllare la creazione degli impegni di capacità
Puoi utilizzare i criteri di negazione IAM per un ulteriore controllo su chi può creare impegni in termini di capacità.
I criteri di rifiuto possono essere creati per un insieme di utenti o per tutti e possono essere configurati 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ò essere associato 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 di capacità
In questa sezione vengono descritti i passaggi per la risoluzione dei problemi che potrebbero essere utili se si verificano problemi utilizzando 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:
- Elimina l'impegno in attesa.
- Acquista un nuovo impegno per un numero inferiore di slot. A seconda della capacità, l'impegno più piccolo potrebbe essere attivato immediatamente.
- Acquista gli slot rimanenti come impegno separato. Questi slot potrebbero essere visualizzati come in attesa nella colonna Stato, ma in genere diventano attivi entro poche ore.
- (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 per essere completato, valuta la possibilità di utilizzare prezzi on demand temporaneamente. Con questa soluzione, potrebbe essere necessario eseguire query critiche su un progetto diverso che non è assegnato a nessuna prenotazione oppure potrebbe essere necessario rimuovere del tutto l'assegnazione del progetto.