Nutzungsbeschränkungen

Da es sich bei der Google Docs API um einen gemeinsam genutzten Dienst handelt, wenden wir Kontingente und Limits an, um sicherzustellen, dass sie von allen Nutzern fair verwendet wird und um den Gesamtzustand des Google Workspace-Systems zu schützen.

Wenn Sie ein Kontingent überschreiten, erhalten Sie in der Regel die HTTP-Statuscodeantwort 429: Too many requests. In diesem Fall sollten Sie einen exponentiellen Backoff-Algorithmus verwenden und es später noch einmal versuchen.

In der folgenden Tabelle sind die Anfragelimits aufgeführt:

Kontingente
Leseanfragen
Pro Minute und Projekt 3.000
pro Minute, Nutzer und Projekt 300
Schreibanfragen
Pro Minute und Projekt 600
pro Minute, Nutzer und Projekt 60

Zeitbasierte Kontingentfehler beheben

Bei zeitbasierten Fehlern (maximal N Anfragen pro X Minuten) empfehlen wir, dass der Code die Ausnahme abfängt und einen abgeschnittenen exponentiellen Backoff verwendet, um sicherzustellen, dass Ihre Geräte nicht zu viel Last generieren.

Der exponentielle Backoff ist eine Standardstrategie für die Fehlerbehandlung bei Netzwerkanwendungen. Ein exponentieller Backoff-Algorithmus wiederholt Anfragen mit exponentiell steigenden Wartezeiten zwischen Anfragen bis zu einer maximalen Backoff-Zeit. Wenn Anfragen weiterhin nicht erfolgreich sind, müssen sich die Verzögerungen zwischen den Anfragen im Laufe der Zeit erhöhen, bis die Anfrage erfolgreich ist.

Beispielalgorithmus

Ein exponentieller Backoff-Algorithmus wiederholt Anfragen exponentiell, wodurch die Wartezeit zwischen zwei Wiederholungen bis zur maximalen Backoff-Zeit verlängert wird. Beispiel:

  1. Senden Sie eine Anfrage an die Google Docs API.
  2. Wenn die Anfrage fehlschlägt, warten Sie 1 + random_number_milliseconds und wiederholen Sie die Anfrage.
  3. Wenn die Anfrage fehlschlägt, warten Sie 2 + random_number_milliseconds und wiederholen Sie die Anfrage.
  4. Wenn die Anfrage fehlschlägt, warten Sie 4 + random_number_milliseconds und wiederholen Sie die Anfrage.
  5. Und so weiter bis zur maximum_backoff-Zeit.
  6. Warten Sie noch einmal und wiederholen Sie den Vorgang bis zu einer maximalen Anzahl von Wiederholungsversuchen. Erhöhen Sie jedoch nicht die Wartezeit zwischen zwei Wiederholungen.

wobei

  • Die Wartezeit beträgt min(((2^n)+random_number_milliseconds), maximum_backoff), wobei n für jede Iteration (Anfrage) um 1 erhöht wird.
  • random_number_milliseconds ist eine zufällige Anzahl von Millisekunden,die kleiner oder gleich 1.000 ist. So lassen sich Fälle vermeiden, bei denen viele Clients in einem bestimmten Zustand synchronisiert werden und alle gleichzeitig wiederholt werden, wodurch Anfragen in synchronisierten Wellen gesendet werden. Der Wert von random_number_milliseconds wird nach jeder Wiederholungsanfrage neu berechnet.
  • maximum_backoff ist normalerweise 32 oder 64 Sekunden lang. Der entsprechende Wert hängt vom Anwendungsfall ab.

Der Client kann den Vorgang wiederholen, nachdem er die maximum_backoff-Zeit erreicht hat. Nach diesem Punkt muss der Backoff-Zeitraum nicht weiter erhöht werden. Wenn ein Client beispielsweise eine maximum_backoff-Zeit von 64 Sekunden verwendet, kann er nach Erreichen dieses Werts alle 64 Sekunden einen neuen Versuch starten. Irgendwann sollten Clients noch auf unbestimmte Zeit wiederholt werden.

Die Wartezeit zwischen Wiederholungsversuchen und der Anzahl der Wiederholungsversuche hängt von Ihrem Anwendungsfall und den Netzwerkbedingungen ab.

Preise

Die Nutzung der Google Docs API ist kostenlos. Wenn Sie das Kontingentlimit überschreiten, fallen keine zusätzlichen Kosten an und Ihr Konto wird nicht belastet.

Kontingenterhöhung anfordern

Abhängig von der Ressourcennutzung Ihres Projekts können Sie eine Kontingenterhöhung anfordern. API-Aufrufe von einem Dienstkonto werden als ein einzelnes Konto betrachtet. Das Beantragen eines höheren Kontingents garantiert nicht zwangsläufig die Genehmigung. Die Genehmigung großer Kontingenterhöhungen kann länger dauern.

Es gelten nicht für alle Projekte dieselben Kontingente. Wenn Sie Google Cloud im Laufe der Zeit immer mehr verwenden, können Ihre Kontingente möglicherweise erhöht werden. Wenn Sie eine deutlich stärkere Auslastung erwarten, können Sie in der Google Cloud Console auf der Seite „Kontingente“ proaktiv Kontingentanpassungen anfordern.

Weitere Informationen finden Sie in den folgenden Ressourcen: