Limiti di utilizzo

Poiché l'API Moduli Google è un servizio condiviso, applichiamo quote e limitazioni per assicurarci che venga utilizzata in modo equo da tutti gli utenti e per proteggere l'integrità complessiva del sistema Google Workspace.

Se superi una quota, in genere riceverai una risposta con codice di stato HTTP 429: Too many requests. In questo caso, devi utilizzare un algoritmo di backoff esponenziale e riprovare più tardi. A condizione che tu rispetti le quote al minuto riportate di seguito, non c'è un limite al numero di richieste che puoi effettuare al giorno.

Nota:gli orologi con moduli hanno limiti aggiuntivi. Per ulteriori informazioni, consulta Configurare e ricevere notifiche push.

La tabella seguente illustra i limiti di richiesta:

Quote
Richieste di lettura
Al giorno per progetto Illimitato
Al minuto per progetto 975
Al minuto per utente per progetto 390
Richieste di lettura costose

(Utilizzato per le richieste forms.responses.list).

Al giorno per progetto Illimitato
Al minuto per progetto 450
Al minuto per utente per progetto 180
Richieste di scrittura
Al giorno per progetto Illimitato
Al minuto per progetto 375
Al minuto per utente per progetto 150

Risolvere gli errori relativi alle quote basate sul tempo

Per tutti gli errori basati sul tempo (massimo N richieste ogni X minuti), consigliamo di far sì che il codice catturi l'eccezione e utilizzi un backoff esponenziale troncato per assicurarti che i dispositivi non generino un carico eccessivo.

Il backoff esponenziale è una strategia di gestione degli errori standard per le applicazioni di rete. Un algoritmo di backoff esponenziale riprova le richieste utilizzando tempi di attesa in aumento esponenziale tra le richieste, fino a un tempo di backoff massimo. Se le richieste continuano a non andare a buon fine, è importante che i ritardi tra le richieste aumentino nel tempo fino a quando la richiesta non va a buon fine.

Algoritmo di esempio

Un algoritmo di backoff esponenziale riprova le richieste in modo esponenziale, aumentando il tempo di attesa tra i tentativi fino a un tempo di backoff massimo. Ad esempio:

  1. Invia una richiesta all'API Google Forms.
  2. Se la richiesta non va a buon fine, attendi 1 + random_number_milliseconds e riprova.
  3. Se la richiesta non va a buon fine, attendi 2 + random_number_milliseconds e riprova.
  4. Se la richiesta non va a buon fine, attendi 4 + random_number_milliseconds e riprova.
  5. E così via fino a un intervallo di maximum_backoff.
  6. Continua ad attendere e riprovare fino al numero massimo di nuovi tentativi, ma non aumentare il periodo di attesa tra un tentativo e l'altro.

dove:

  • Il tempo di attesa è min(((2^n)+random_number_milliseconds), maximum_backoff), con n incrementato di 1 per ogni iterazione (richiesta).
  • random_number_milliseconds è un numero casuale di millisecondi minore o uguale a 1000. In questo modo si evitano i casi in cui molti client vengono sincronizzati da qualche situazione e tutti riprovano contemporaneamente, inviando richieste in ondate sincronizzate. Il valore di random_number_milliseconds viene ricalcolato dopo ogni richiesta di nuovo tentativo.
  • maximum_backoff in genere dura 32 o 64 secondi. Il valore appropriato dipende dal caso d'uso.

Il client può continuare a riprovare dopo aver raggiunto il tempo maximum_backoff. I tentativi successivi a questo punto non devono continuare ad aumentare il tempo di backoff. Ad esempio, se un client utilizza un tempo maximum_backoff di 64 secondi, dopo aver raggiunto questo valore, può riprovare ogni 64 secondi. A un certo punto, ai client deve essere impedito di riprovare a tempo indeterminato.

Il tempo di attesa tra i nuovi tentativi e il numero di nuovi tentativi dipendono dal caso d'uso e dalle condizioni di rete.

Prezzi

L'uso dell'API Moduli Google è disponibile senza costi aggiuntivi. Il superamento dei limiti di richiesta della quota non comporta costi aggiuntivi e non viene addebitato alcun importo sul tuo account.

Richiedi un aumento della quota

A seconda dell'utilizzo delle risorse del progetto, potresti voler richiedere un aumento della quota. Le chiamate API da parte di un account di servizio sono considerate come se utilizzassero un singolo account. La richiesta di aumentare una quota non ne garantisce l'approvazione. L'approvazione può richiedere più tempo nel caso di un aumento consistente della quota.

Non tutti i progetti hanno le stesse quote. Man mano che utilizzi sempre più Google Cloud nel tempo, potrebbe essere necessario aumentare le quote. Se prevedi un aumento imminente e consistente dell'utilizzo, puoi richiedere un adeguamento della quota in modo proattivo nella pagina Quote della console Google Cloud.

Per saperne di più, consulta le seguenti risorse: