Limiti di utilizzo

Poiché l'API Google Moduli è 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 ricevi 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. Se rimani entro le quote al minuto riportate di seguito, non c'è limite al numero di richieste che puoi effettuare al giorno.

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

La tabella seguente contiene i limiti per le richieste:

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

(Utilizzato per forms.responses.list richieste)

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

Risolvere gli errori di quota basati sul tempo

Per tutti gli errori basati sul tempo (massimo N richieste per X minuti), ti consigliamo che il tuo codice rilevi l'eccezione e utilizzi un backoff esponenziale troncato per garantire che i dispositivi non generino un carico eccessivo.

Il backoff esponenziale è una strategia standard di gestione degli errori per le applicazioni di rete. Un algoritmo di backoff esponenziale tenta di nuovo le richieste utilizzando tempi di attesa più elevati 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 all'esito positivo della richiesta.

Algoritmo di esempio

Un algoritmo di backoff esponenziale tenta di ripetere le richieste in modo esponenziale, aumentando il tempo di attesa tra un nuovo tentativo e l'altro fino a un tempo di backoff massimo. Ad esempio:

  1. Invia una richiesta all'API Google Moduli.
  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 maximum_backoff volta.
  6. Continua ad attendere e a riprovare fino al numero massimo di tentativi consentiti, 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 inferiore o uguale a 1000. Ciò consente di evitare i casi in cui molti client siano sincronizzati da una determinata situazione e riprovano tutti contemporaneamente, inviando le richieste in wave sincronizzate. Il valore di random_number_milliseconds viene ricalcolato dopo ogni richiesta di nuovo tentativo.
  • maximum_backoff è in genere di 32 o 64 secondi. Il valore appropriato dipende dal caso d'uso.

Il client può continuare a riprovare dopo aver raggiunto il limite di maximum_backoff. I nuovi tentativi dopo questo punto non devono 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 dovrebbe essere impedito di riprovare a tempo indeterminato.

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

Prezzi

L'uso dell'API Moduli Google è disponibile senza costi aggiuntivi. Il superamento dei limiti di richiesta di quota non comporta costi aggiuntivi e non prevede addebiti.

Richiedi un aumento della quota

A seconda dell'utilizzo delle risorse da parte del progetto, puoi richiedere un aumento della quota. Le chiamate API da parte di un account di servizio utilizzano un singolo account. La richiesta di un aumento di quota non ne garantisce l'approvazione. L'approvazione degli aumenti di quota consistenti può richiedere più tempo.

Non tutti i progetti hanno le stesse quote. Man mano che utilizzi Google Cloud sempre più nel tempo, le tue quote potrebbero dover aumentare. Se prevedi un aumento imminente e significativo 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: