Nutzungslimits

Da die Google Sheets API ein gemeinsam genutzter Dienst ist, gelten Kontingente und Beschränkungen. um sicherzustellen, dass sie von allen Nutzern fair verwendet wird, und um die allgemeine Status des Google Workspace-Systems.

Kontingentlimits

Für die Sheets API gibt es keine festen Größenbeschränkungen für API-Anfragen. Es können jedoch Beschränkungen für verschiedene Verarbeitungskomponenten gelten, die nicht von Google Tabellen gesteuert werden. Zur Beschleunigung von Anfragen empfiehlt Google eine Nutzlast von maximal 2 MB.

Die Sheets API hat Kontingente pro Minute, die jede Minute aufgefüllt werden. Beispielsweise gibt es ein Limit von 300 Leseanfragen pro Minute und Projekt. Wenn Ihre Anwendung 350 Anfragen innerhalb einer Minute sendet, überschreiten die 50 zusätzlichen Anfragen das Kontingent und generieren einen 429: Too many requests-HTTP-Statuscodeantwort. In diesem Fall sollten Sie ein exponentiellen Backoff-Algorithmus an. Nach einer Minute wieder Anfragen ausführen können. Nutzer können mehrere Anfragen gleichzeitig senden, solange das Kontingentlimit nicht überschritten wird.

Alle Google Tabellen-Anfragen werden in kleinstmöglichen Schritten angewendet. Wenn also eine Anfrage ungültig ist, schlägt die gesamte Aktualisierung fehl und keine der (möglicherweise abhängigen) Änderungen wird angewendet.

<ph type="x-smartling-placeholder">

In der folgenden Tabelle sind die Anfragebeschränkungen aufgeführt. Sofern Sie innerhalb der Minutenkontingente bleiben, gibt es keine die Sie pro Tag senden können.

Kontingente
Leseanfragen
pro Minute und Projekt 300
pro Minute, Nutzer und Projekt 60
Schreibanfragen
pro Minute und Projekt 300
pro Minute, Nutzer und Projekt 60
<ph type="x-smartling-placeholder">

Weitere Informationen zu Dateibeschränkungen finden Sie im Hilfeartikel In Google Drive speicherbare Dateien.

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 Sheets 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 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 Sheets 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: