Utilizzare le prenotazioni di slot legacy
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.
Le prenotazioni ti consentono di assegnare un numero dedicato di slot
a un carico di lavoro. Ad esempio, potresti non volere che un carico di lavoro di produzione competa con i carichi di lavoro di test per gli slot. Puoi creare una prenotazione denominata prod
e assegnare i tuoi carichi di lavoro di produzione a questa prenotazione. Per ulteriori informazioni, consulta la sezione Prenotazioni.
Crea prenotazioni
Autorizzazioni obbligatorie
Per creare una prenotazione, devi disporre della seguente autorizzazione Identity and Access Management (IAM):
bigquery.reservations.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
BigQuery Resource Editor
Per saperne di più sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Creare una prenotazione con slot dedicati
Seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic su Crea prenotazione.
Nel campo Nome prenotazione, inserisci un nome per la prenotazione.
Nell'elenco a discesa Località, seleziona la località.
Nella sezione Modello di capacità, seleziona il modello di capacità.
Se selezioni l'opzione Tariffa fissa, in Slot di riferimento, inserisci il numero di slot per la prenotazione.
- Nell'elenco Selettore dimensione massima prenotazione, seleziona la dimensione massima della prenotazione.
(Facoltativo) Nel campo Slot di base, inserisci il numero di slot di base per la prenotazione. Per utilizzare solo la capacità dello spazio specificata, fai clic sul pulsante di attivazione/disattivazione Ignora gli slot inattivi.
La quantità di slot con scalabilità automatica a tua disposizione viene determinata sottraendo il valore degli slot di riferimento dal valore della dimensione massima della prenotazione. Ad esempio, se crei una prenotazione con 100 slot di riferimento e una dimensione massima della prenotazione di 400, la prenotazione avrà 300 slot con scalabilità automatica. Per saperne di più sugli slot di riferimento, consulta Utilizzare le prenotazioni con gli slot di riferimento e con la scalabilità automatica.
Per disattivare la condivisione di slot inattivi, fai clic sul pulsante di attivazione/disattivazione Ignora slot inattivi.
La suddivisione degli slot viene visualizzata nella tabella Stima dei costi. Un riepilogo della prenotazione viene visualizzato nella tabella Riepilogo della capacità.
Fai clic su Salva.
La nuova prenotazione è visibile nella scheda Prenotazioni.
SQL
Per creare una prenotazione, utilizza l'istruzione DDL CREATE RESERVATION
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario della risorsa di prenotazioneLOCATION
: la posizione della prenotazione. Se selezioni una posizione BigQuery Omni, l'opzione di versione è limitata alla versione Enterprise.RESERVATION_NAME
: il nome della prenotazioneDeve iniziare e terminare con una lettera minuscola o un numero e contenere solo lettere minuscole, numeri e trattini.
NUMBER_OF_BASELINE_SLOTS
: il numero di slot di riferimento da allocare alla prenotazione. Non puoi impostare l'opzioneslot_capacity
e l'opzioneedition
nella stessa prenotazione.EDITION
: la versione della prenotazione. L'assegnazione di una prenotazione a una versione comporta modifiche alle funzionalità e ai prezzi. Per ulteriori informazioni, consulta Introduzione alle versioni di BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: il numero di slot di scalabilità automatica assegnati alla prenotazione. È uguale al valore della dimensione massima della prenotazione meno il numero di slot di riferimento.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
bq
Per creare una prenotazione, utilizza il comando bq mk
con il flag --reservation
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ RESERVATION_NAME
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID progettoLOCATION
: la posizione della prenotazione. Se selezioni una posizione BigQuery Omni, l'opzione di versione è limitata alla versione Enterprise.NUMBER_OF_BASELINE_SLOTS
: il numero di slot di riferimento da allocare alla prenotazioneRESERVATION_NAME
: il nome della prenotazioneEDITION
: la versione della prenotazione. L'assegnazione di una prenotazione a una versione comporta modifiche alle funzionalità e ai prezzi. Per ulteriori informazioni, consulta Introduzione alle versioni di BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: il numero di slot di scalabilità automatica assegnati alla prenotazione. È uguale al valore della dimensione massima della prenotazione meno il numero di slot di riferimento.
Per informazioni sul flag --ignore_idle_slots
, consulta
Slot inattivi. Il valore predefinito è false
.
Python
Aggiornare le prenotazioni
Puoi apportare i seguenti aggiornamenti a una prenotazione:
- Modifica la dimensione della prenotazione aggiungendo o rimuovendo slot.
- Configura se le query in questa prenotazione devono utilizzare slot inattivi.
- Modifica la quantità di slot di base o con scalabilità automatica allocati a una prenotazione.
Autorizzazioni obbligatorie
Per aggiornare una prenotazione, devi disporre della seguente autorizzazione IAM (Identity and Access Management):
bigquery.reservations.update
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
BigQuery Resource Editor
Per saperne di più sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Modificare le dimensioni di una prenotazione
Puoi aggiungere o rimuovere slot da una prenotazione esistente.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Prenotazioni.
Trova la prenotazione che vuoi aggiornare.
Espandi l'opzione
Azioni.Fai clic su Modifica.
Nella finestra di dialogo Selettore dimensione massima prenotazione, inserisci la dimensione massima della prenotazione.
Nel campo Slot di riferimento, inserisci il numero di slot di riferimento.
Fai clic su Salva.
SQL
Per modificare le dimensioni di una prenotazione, utilizza l'istruzione DDL (Data Definition Language) ALTER RESERVATION SET OPTIONS
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario della risorsa di prenotazioneLOCATION
: la posizione della prenotazione, ad esempioeurope-west9
.RESERVATION_NAME
: il nome della prenotazione. Deve iniziare e terminare con una lettera minuscola o un numero e contenere solo lettere minuscole, numeri e trattini.NUMBER_OF_BASELINE_SLOTS
: il numero di slot di riferimento da allocare alla prenotazione.
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
bq
Per aggiornare le dimensioni di una prenotazione, utilizza il comando bq update
con il
--reservation
flag:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --slots=NUMBER_OF_BASELINE_SLOTS \ --reservation RESERVATION_NAME
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID progettoLOCATION
: la posizione della prenotazioneNUMBER_OF_BASELINE_SLOTS
: il numero di slot di riferimento da allocare alla prenotazioneRESERVATION_NAME
: il nome della prenotazione
Python
Configurare se le query utilizzano gli slot inattivi
Il flag --ignore_idle_slots
controlla se le query in esecuzione in una prenotazione possono utilizzare gli slot inattivi di altre prenotazioni. Per ulteriori informazioni, consulta la sezione Slot inattivi. Puoi aggiornare questa configurazione su una prenotazione esistente.
Per aggiornare una prenotazione, utilizza il comando bq update
con il flag --reservation
. L'esempio seguente imposta --ignore_idle_slots
su true
,
il che significa che la prenotazione utilizzerà solo gli slot allocati alla prenotazione.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --ignore_idle_slots=true \ --reservation RESERVATION_NAME
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID progettoLOCATION
: la posizione della prenotazioneRESERVATION_NAME
: il nome della prenotazione
Elenca la configurazione degli slot inattivi
Per elencare l'impostazione slot inattivi per una prenotazione:
SQL
Esegui una query sulla colonna ignore_idle_slots
della
visualizzazione INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario delle risorse di prenotazioneLOCATION
: la posizione delle prenotazioni
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
bq
Utilizza il comando bq ls
con il flag --reservation
:
bq ls --reservation \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione che possiede le risorse di prenotazioneLOCATION
: la posizione delle prenotazioni
Il campo ignoreIdleSlots
contiene l'impostazione di configurazione.
Elimina prenotazioni
Quando elimini una prenotazione, tutti i job attualmente in esecuzione con gli slot della prenotazione non andranno a buon fine. Per evitare errori, consenti il completamento dei job in esecuzione prima di eliminare la prenotazione.
Autorizzazioni obbligatorie
Per eliminare una prenotazione, è necessaria la seguente autorizzazione IAM (Identity and Access Management):
bigquery.reservations.delete
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
BigQuery Resource Editor
Per saperne di più sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Eliminazione di una prenotazione
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Nel pannello di navigazione, vai alla sezione Gestione della capacità.
Fai clic sulla scheda Prenotazioni.
Trova la prenotazione che vuoi eliminare.
Espandi l'opzione
Azioni.Fai clic su Elimina.
Nella finestra di dialogo Elimina prenotazione, fai clic su Elimina.
SQL
Per eliminare una prenotazione, utilizza l'istruzione DDL DROP RESERVATION
.
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione proprietario della risorsa di prenotazioneLOCATION
: la posizione della prenotazioneRESERVATION_NAME
: l'ID della prenotazione
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
bq
Per eliminare una prenotazione, utilizza il comando bq rm
con il flag --reservation
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation RESERVATION_NAME
Sostituisci quanto segue:
ADMIN_PROJECT_ID
: l'ID del progetto di amministrazione che possiede la risorsa di prenotazioneLOCATION
: la posizione della prenotazioneRESERVATION_NAME
: il nome della prenotazione
Python
Aggiungere l'API BigQuery Reservation ai Controlli di servizio VPC
L'API BigQuery Reservation supporta i Controlli di servizio VPC. Per integrare l'API BigQuery Reservation con Controlli di servizio VPC, segui le istruzioni riportate in Creare un perimetro di servizio e aggiungi l'API BigQuery Reservation ai servizi protetti.
Un perimetro di servizio protegge l'accesso a prenotazioni, impegni e assegnazioni all'interno dei progetti di amministrazione specificati nel perimetro. Quando crei un'assegnazione, Controlli di servizio VPC protegge il progetto di amministrazione, nonché il progetto, la cartella e l'organizzazione dell'assegnatario.