Poiché l'API Fogli Google è un servizio condiviso, applichiamo quote e limitazioni per assicurarci che venga utilizzato in modo equo da tutti gli utenti e per proteggere le l'integrità del sistema Google Workspace.
Limiti di quota
Sebbene l'API Fogli non abbia limiti di dimensioni rigidi per le richieste API, gli utenti potrebbero riscontrare limiti relativi a diversi componenti di elaborazione non controllati da Fogli. Per velocizzare le richieste, Google consiglia un payload massimo di 2 MB.
L'API Fogli prevede quote al minuto e vengono ricaricate ogni minuto. Ad esempio, esiste un limite di richieste di lettura di 300 al minuto per progetto.
Se la tua app invia 350 richieste in un minuto, le 50 richieste aggiuntive superano la quota e genera un
429: Too many requests
Risposta del codice di stato HTTP. In questo caso, devi utilizzare
algoritmo di backoff esponenziale. Dopo 1 minuto,
può eseguire di nuovo le richieste. Gli utenti possono inviare più richieste contemporaneamente, purché rientrino nel limite di quota.
Tutte le richieste Fogli vengono applicate atomicamente. Ciò significa che se una qualsiasi richiesta non è valida, l'intero aggiornamento non andrà a buon fine e non verrà applicata nessuna delle modifiche (potenzialmente dipendenti).
La seguente tabella descrive in dettaglio i limiti per le richieste. A condizione che si rimanga entro le quote al minuto, al numero massimo di richieste che puoi effettuare al giorno.
Quote | |||||
---|---|---|---|---|---|
Richieste di lettura |
|
||||
Richieste di scrittura |
|
Per maggiori dettagli sui limiti dei file, vedi File archiviabili su Google Drive.
Risolvere gli errori di quota basati sul tempo
Per tutti gli errori basati sul tempo (massimo N richieste per X minuti), consigliamo il codice rileva l'eccezione e utilizza un backoff esponenziale troncato per fare in modo che non generino un carico eccessivo.
Il backoff esponenziale è una strategia standard di gestione degli errori per le applicazioni di rete. Un L'algoritmo di backoff esponenziale prova a ripetere le richieste utilizzando tempi di attesa crescenti in modo 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 all'esito positivo della richiesta.
Algoritmo di esempio
Un algoritmo con backoff esponenziale prova a ripetere le richieste in modo esponenziale, aumentando il tempo di attesa tra i nuovi tentativi e il tempo di backoff massimo. Ad esempio:
- Effettua una richiesta all'API Fogli Google.
- Se la richiesta non va a buon fine, attendi 1 +
random_number_milliseconds
e riprova la richiesta. - Se la richiesta non va a buon fine, attendi 2 +
random_number_milliseconds
e riprova la richiesta. - Se la richiesta non va a buon fine, attendi 4 +
random_number_milliseconds
e riprova la richiesta. - E così via, fino a un
maximum_backoff
volta. - Continua ad attendere e riprovare fino al numero massimo di nuovi tentativi, ma non aumentare l'attesa tra un nuovo tentativo e l'altro.
dove:
- Il tempo di attesa è di
min(((2^n)+random_number_milliseconds), maximum_backoff)
, conn
incrementato di 1 per ogni iterazione (richiesta). random_number_milliseconds
è un numero casuale di millisecondi minore di o uguale a 1000. Ciò consente di evitare i casi in cui molti client vengono sincronizzati situazione e tutti riprovano contemporaneamente, inviando le richieste in tra le onde. Il valore dirandom_number_milliseconds
viene ricalcolato dopo ogni riprova a eseguire la richiesta.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 raggiunta la soglia (maximum_backoff
).
Non è necessario continuare ad aumentare il tempo di backoff per i nuovi tentativi successivi a questo punto. Per
Ad esempio, se un cliente utilizza un tempo maximum_backoff
di 64 secondi, dopo aver raggiunto
questo valore, il client può riprovare ogni 64 secondi. A un certo punto,
i client non dovrebbero più riprovare a tempo indeterminato.
Il tempo di attesa tra i nuovi tentativi e il numero di nuovi tentativi dipendono dal caso d'uso e alle condizioni della rete.
Prezzi
L'uso dell'API Fogli Google è disponibile senza costi aggiuntivi. Superamento della quota limiti di richieste non comporta costi aggiuntivi e sul tuo account non vengono addebitati costi.
Richiedi un aumento della quota
A seconda dell'utilizzo delle risorse del progetto, potresti voler richiedere una quota aumentano. Per le chiamate API da parte di un account di servizio viene utilizzata un solo account. La richiesta di un aumento della quota non ne garantisce l'approvazione. Grande l'approvazione degli aumenti di quota può richiedere più tempo.
Non tutti i progetti hanno le stesse quote. Man mano che utilizzi sempre più Google Cloud potrebbe essere necessario aumentare le quote. Se prevedi un evento di successo di utilizzo, puoi ottimizzare proattivamente richiedere aggiustamenti della quota dalla pagina Quote nella console Google Cloud.
Per saperne di più, consulta le seguenti risorse:
- Informazioni sulle richieste di aumento della quota
- Visualizzare l'utilizzo e i limiti attuali delle quote
- Richiedere un limite di quota più elevato