Creare quote per query personalizzate

Questo documento descrive come impostare o modificare le quote di query personalizzate per controllare i costi. Per scoprire come gli analisti BigQuery possono stimare e controllare i costi, consulta Stimare e controllare i costi.

Se disponi di più utenti e progetti BigQuery, puoi gestire i costi richiedendo una quota personalizzata che definisce un limite alla quantità di dati elaborati al giorno. Le quote giornaliere vengono reimpostate alla mezzanotte del fuso orario del Pacifico.

La quota personalizzata è proattiva e pertanto non potrai eseguire una query da 11 TB se disponi di una quota di 10 TB. La creazione di una quota personalizzata per i dati elaborati consente di controllare i costi a livello di progetto o a livello di utente.

Per impostare controlli dei costi personalizzati, puoi aggiornare una o entrambe le seguenti quote di query:

  • QueryUsagePerDay: le quote personalizzate a livello di progetto limitano l'utilizzo complessivo di tutti gli utenti in un determinato progetto.

  • QueryUsagePerUserPerDay: la quota personalizzata a livello di utente viene applicata separatamente a tutti gli utenti e agli account di servizio all'interno di un progetto.

Per ulteriori informazioni sulle quote di BigQuery che puoi impostare, consulta la sezione Quote e limiti.

Ruolo richiesto

Per ottenere l'autorizzazione necessaria per modificare la quota, chiedi all'amministratore di concederti il ruolo IAM Amministratore quote (role/servicemanagement.quotaAdmin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione serviceusage.quotas.update necessaria per modificare la quota.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Impostare o modificare le quote personalizzate

Puoi impostare una quota personalizzata o modificarne una esistente per qualsiasi quota visualizzata nella pagina Quote e limiti di sistema della console Google Cloud . Quando richiedi una quota inferiore, la modifica diventa effettiva dopo pochi minuti. Se richiedi una quota più elevata, la tua richiesta viene sottoposta a una procedura di approvazione, che può richiedere più tempo. Per maggiori informazioni, consulta Richiedere un aggiustamento delle quote.

Per impostare o aggiornare un controllo dei costi personalizzato, ad esempio limitando la quantità di dati BigQuery che possono essere elaborati ogni giorno:

  1. Nella console Google Cloud , apri la pagina IAM e amministrazione > Quote e limiti di sistema:

    Vai a Quote e Limiti di sistema

  2. Utilizza il filtro Servizio nella casella di ricerca Filtra per filtrare in base all'API BigQuery.

  3. Seleziona le quote che vuoi modificare. Ad esempio, per limitare la quantità di dati su cui è possibile eseguire query al giorno sia a livello di progetto che di utente, seleziona Utilizzo query al giorno e Utilizzo query al giorno per utente. Potresti dover scorrere l'elenco per trovarli. Dopo aver selezionato una quota, viene visualizzata una barra degli strumenti.

  4. Nella barra degli strumenti, fai clic su Modifica. Si apre la finestra di dialogo Modifiche alla quota.

  5. Se è selezionata l'opzione Nessun limite, deselezionala.

  6. Inserisci il valore della quota in TiB che preferisci nel campo Nuovo valore.

  7. Fai clic su Fine.

  8. Fai clic su Invia richiesta.

Per ulteriori informazioni su come visualizzare e gestire le quote, vedi Visualizzare e gestire le quote.

Messaggi di errore restituiti

Dopo aver impostato una quota personalizzata, BigQuery restituisce un errore nel caso in cui venga superata:

  • Se superi una quota personalizzata a livello di progetto, BigQuery restituisce l'errore usageQuotaExceeded:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerDay, which is set by your administrator. For more information,
    see https://cloud.google.com/bigquery/cost-controls
  • Se l'utente supera una quota personalizzata a livello di utente, BigQuery restituisce un errore usageQuotaExceeded con un messaggio diverso:

    Custom quota exceeded: Your usage exceeded the custom quota for
    QueryUsagePerUserPerDay, which is set by your administrator. For more
    information, see https://cloud.google.com/bigquery/cost-controls

Puoi eseguire la query da un altro progetto che ha accesso ai tuoi set di dati e che non presenta una quota personalizzata o che non l'ha ancora superata.

Esempio

Supponi di aver impostato le seguenti quote personalizzate per un progetto con 10 utenti, uno dei quali è un account di servizio:

  • A livello di progetto: 50 TB al giorno
  • A livello di utente: 10 TB al giorno

Le quote personalizzate a livello di progetto limitano l'utilizzo complessivo di tutti gli utenti in un determinato progetto. Le quote personalizzate a livello di utente vengono applicate separatamente a ciascun utente o account di servizio all'interno di un progetto.

La seguente tabella descrive le quote rimanenti quando i 10 utenti eseguono query durante il giorno.

Utilizzo Quota rimanente
Ognuno dei 10 utenti esegue query per 4 TB A livello di progetto: rimangono 10 TB.
A livello di utente: rimangono 6 TB per utente, ma solo fino a un totale di 10 TB.
L'account di servizio esegue query per altri 6 TB A livello di progetto: rimangono 4 TB.
A livello di utente: l'account di servizio non può più utilizzare BigQuery. Rimangono 6 TB per utente per gli altri utenti, ma solo fino a un totale di 4 TB.
Un utente esegue query per altri 4 TB A livello di progetto: rimangono 0 TB.
A livello di utente: rimangono vari TB, ma nessuno può utilizzare BigQuery poiché la quota a livello di progetto è stata superata.

In assenza di quota rimanente, BigQuery smette di funzionare per tutti gli utenti del progetto.

Passaggi successivi