Limiti di utilizzo

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

Le notifiche inviate all'indirizzo specificato quando apri un canale di notifica non vengono conteggiate ai fini dei limiti di quota. Tuttavia, le chiamate ai metodi changes.watch, channels.stop e files.watch vengono conteggiate ai fini della quota.

Se superi una quota, riceverai una risposta con codice di stato 403: User rate limit exceeded HTTP. Controlli aggiuntivi dei limiti di frequenza sul backend di Drive potrebbero anche generare una 429: Too many requests risposta. 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 esiste un limite al numero di richieste che puoi effettuare al giorno.

La tabella seguente descrive in dettaglio i limiti delle query:

Quote
Query
Per 60 secondi 12.000
Per 60 secondi per utente 12.000

Risolvere gli errori di quota basati sul tempo

Per tutti gli errori basati sul tempo (massimo N richieste ogni X minuti), ti consigliamo di fare in modo che il codice rilevi l'eccezione e utilizzi un backoff esponenziale troncato per assicurarti che i tuoi 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 ripete i tentativi di richiesta utilizzando tempi di attesa in aumento esponenziale tra le richieste, fino a un tempo di backoff massimo. Se le richieste non vanno ancora 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 ripete i tentativi di richiesta 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 Drive.
  2. Se la richiesta non va a buon fine, attendi 1 + random_number_milliseconds e riprova la richiesta.
  3. Se la richiesta non va a buon fine, attendi 2 + random_number_milliseconds e riprova la richiesta.
  4. Se la richiesta non va a buon fine, attendi 4 + random_number_milliseconds e riprova la richiesta.
  5. E così via, fino a un tempo maximum_backoff.
  6. Continua ad attendere e a riprovare fino a un numero massimo di tentativi, ma non aumentare il periodo di attesa tra i tentativi.

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 casi in cui molti client vengono sincronizzati da una determinata situazione e tutti riprovano contemporaneamente, inviando richieste in onde sincronizzate. Il valore di random_number_milliseconds viene ricalcolato dopo ogni tentativo di richiesta.
  • maximum_backoff è in genere 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 nuovi tentativi dopo questo punto non devono continuare ad aumentare il tempo di backoff. Ad esempio, se un client utilizza un valore maximum_backoff di 64 secondi, dopo aver raggiunto questo valore, il client può riprovare ogni 64 secondi. A un certo punto, è necessario impedire ai client di effettuare ulteriori tentativi indefinitamente.

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

Prezzi

L'utilizzo dell'API Google Drive è disponibile senza costi aggiuntivi. Il superamento dei limiti delle richieste di quota non comporta costi aggiuntivi e non viene addebitato alcun importo sul tuo account.

Richiedere un aumento della quota

A seconda dell'utilizzo delle risorse del progetto, potresti voler richiedere un aggiustamento della quota. Le chiamate API effettuate da un service account sono considerate come se utilizzassero un singolo account. La richiesta di una quota aggiustata non ne garantisce l'approvazione. L'approvazione delle richieste di aggiustamento della quota che aumenterebbero in modo significativo il valore della quota può richiedere più tempo.

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

Per saperne di più, consulta le seguenti risorse: