Nutzungslimits

Da die Google Drive API ein gemeinsam genutzter Dienst ist, gelten Kontingente und Beschränkungen für um sicherzustellen, dass sie von allen Nutzern fair verwendet werden, und um die Gesamtleistung zu schützen des Google Workspace-Systems.

Benachrichtigungen werden an die angegebene Adresse gesendet, wenn wird das Öffnen eines Benachrichtigungskanals nicht auf Ihr Kontingentlimit angerechnet. Sie können jedoch changes.watch-Aufrufe channels.stop und files.watch-Methoden werden gezählt Ihres Kontingents.

Wenn Sie ein Kontingent überschreiten, erhalten Sie eine 403: User rate limit exceeded HTTP-Statuscodeantwort. Zusätzliche Ratenbegrenzungsprüfungen auf der Das Drive-Backend generiert möglicherweise auch ein 429: Too many requests Antwort. In diesem Fall sollten Sie einen exponentiellen Backoff verwenden und versuchen Sie es später noch einmal. Vorausgesetzt, Sie bleiben im Kontingente pro Minute können Sie beliebig viele Anfragen stellen. pro Tag.

In der folgenden Tabelle sind die Abfragelimits aufgeführt:

Kontingente
Abfragen
Pro 60 Sekunden 12.000
Pro 60 Sekunden und Nutzer 12.000

Zeitbasierte Kontingentfehler beheben

Für alle zeitbasierten Fehler (maximal N Anfragen pro X Minuten) empfehlen wir Ihr Code fängt die Ausnahme ab und verwendet einen abgeschnittenen exponentiellen Backoff, um sicherzustellen, Geräte nicht zu stark belastet werden.

Der exponentielle Backoff ist eine Standardstrategie zur Fehlerbehandlung für Netzwerkanwendungen. Eine Der exponentielle Backoff-Algorithmus wiederholt Anfragen mit exponentiell zunehmenden Wartezeiten zwischen Anfragen bis zu einer maximalen Backoff-Zeit. Wenn die Anfragen immer noch nicht erfolgreich sind, Es ist wichtig, dass die Verzögerungen zwischen Anforderungen im Laufe der Zeit zunehmen, bis die Anforderung erfolgreich ist.

Beispielalgorithmus

Ein exponentieller Backoff-Algorithmus wiederholt Anfragen exponentiell, wodurch sich die Wartezeit erhöht zwischen Wiederholungen bis zu einer maximalen Backoff-Zeit. Beispiel:

  1. Stellen Sie eine Anfrage an die Google Drive API.
  2. Wenn die Anfrage fehlschlägt, warte 1 + random_number_milliseconds und versuche es dann noch einmal der Anfrage.
  3. Wenn die Anfrage fehlschlägt, warte 2 + random_number_milliseconds und versuche es dann noch einmal der Anfrage.
  4. Wenn die Anfrage fehlschlägt, warte 4 + random_number_milliseconds und versuche es dann noch einmal der Anfrage.
  5. Und so weiter bis zur maximum_backoff-Zeit.
  6. Weiter warten und es bis zu einer maximalen Anzahl von Wiederholungsversuchen wiederholen, aber die Wartezeit nicht erhöhen Zeitraum zwischen den Wiederholungsversuchen.

Dabei gilt:

  • Die Wartezeit beträgt min(((2^n)+random_number_milliseconds), maximum_backoff), wobei n bei jeder Iteration (Anfrage) um 1 erhöht wird.
  • random_number_milliseconds ist eine zufällige Anzahl von Millisekunden, die kleiner ist als oder gleich 1.000. Dadurch wird vermieden, dass viele Clients durch die und alle wiederholen den Vorgang auf einmal. Das Senden von Anfragen in synchronisierten Wellen. Der Wert von random_number_milliseconds wird nach jedem Anfrage wiederholen.
  • maximum_backoff ist normalerweise 32 oder 64 Sekunden lang. Den entsprechenden Wert hängt vom Anwendungsfall ab.

Der Client kann den Vorgang wiederholen, nachdem er die maximum_backoff-Zeit erreicht hat. Die Backoff-Zeit muss dabei nicht mehr verlängert werden. Für Wenn ein Client eine maximum_backoff-Zeit von 64 Sekunden verwendet, kann der Client den Vorgang alle 64 Sekunden wiederholen. Irgendwann kann Client-Wiederholungsversuche sollte verhindert werden.

Die Wartezeit zwischen Wiederholungsversuchen und die Anzahl der Wiederholungen hängen vom Anwendungsfall ab und Netzwerkbedingungen.

Preise

Die Nutzung der Google Drive API ist kostenlos. Kontingent überschreiten Für Anfragelimits fallen keine zusätzlichen Kosten an und für Ihr Konto fallen keine Kosten an.

Kontingenterhöhung anfordern

Abhängig von der Ressourcennutzung Ihres Projekts können Sie ein Kontingent anfordern. erhöhen können. Es wird davon ausgegangen, dass API-Aufrufe durch ein Dienstkonto für ein einzelnes Konto. Wenn Sie ein höheres Kontingent beantragen, bedeutet dies nicht automatisch, dass Ihr Antrag genehmigt wird. Groß Die Genehmigung von Kontingenterhöhungen kann länger dauern.

Es gelten nicht für alle Projekte dieselben Kontingente. Je mehr Sie Google Cloud müssen Sie Ihre Kontingente möglicherweise erhöhen. Wenn Sie eine deutliche Nutzung steigt, können Sie proaktiv Kontingentanpassungen anfordern auf der Seite „Kontingente“ in der Google Cloud Console.

Weitere Informationen finden Sie in den folgenden Ressourcen: