Limiti di utilizzo

Poiché l'API Google Workspace Events è un servizio condiviso, applichiamo quote e limitazioni per assicurarci che venga utilizzata in modo equo da tutti gli utenti e per proteggere le prestazioni complessive di Google Workspace.

Se superi una quota, riceverai una risposta con codice di stato HTTP 429: Too many requests. Anche altri controlli della limitazione di frequenza nel backend dell'API Google Workspace Events potrebbero generare la stessa risposta di errore. Se si verifica questo errore, devi utilizzare un algoritmo di backoff esponenziale e riprovare più tardi. Finché rimani entro le quote al minuto elencate nelle seguenti tabelle, non c'è limite al numero di richieste che puoi effettuare al giorno.

Quote per progetto

Le quote per progetto limitano la frequenza delle query per un progetto Google Cloud e pertanto si applicano a una singola app che chiama i metodi dell'API Google Workspace Events specificati per ogni quota.

I limiti di query per progetto sono riportati nella tabella seguente. Puoi trovare questi limiti anche nella pagina Quote della console Google Cloud.

Quota per progetto

Metodi dell'API Google Workspace Events

Limite

Scritture al minuto

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

600

Scritture al minuto per utente

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

100

Letture al minuto

Subscriptions.get

Subscriptions.list

600

Letture al minuto per utente

Subscriptions.get

Subscriptions.list

100

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 assicurarti 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 esponenziali 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 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. Effettua una richiesta all'API Google Workspace Events.
  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 nuovi tentativi, ma non aumentare il periodo di attesa tra un nuovo 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. Ciò consente di evitare i casi in cui molti client vengono sincronizzati in base a qualche situazione e tutti riprovano contemporaneamente, inviando le richieste in wave sincronizzate. Il valore di random_number_milliseconds viene ricalcolato dopo ogni richiesta di nuovo tentativo.
  • maximum_backoff dura in genere 32 o 64 secondi. Il valore appropriato dipende dal caso d'uso.

Il client può continuare a riprovare una volta raggiunto il limite di maximum_backoff. I nuovi tentativi dopo questo punto non devono necessariamente 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.

Richiedi un aumento della quota per progetto

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

Non tutti i progetti hanno le stesse quote. Con l'uso crescente di Google Cloud nel tempo, le tue quote potrebbero dover aumentare. 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: