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 |
|
||||
Schreibanfragen |
|
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:
- Stellen Sie eine Anfrage an die Google Sheets API.
- Wenn die Anfrage fehlschlägt, warte 1 +
random_number_milliseconds
und versuche es dann noch einmal der Anfrage. - Wenn die Anfrage fehlschlägt, warte 2 +
random_number_milliseconds
und versuche es dann noch einmal der Anfrage. - Wenn die Anfrage fehlschlägt, warte 4 +
random_number_milliseconds
und versuche es dann noch einmal der Anfrage. - Und so weiter bis zur
maximum_backoff
-Zeit. - 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)
, wobein
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 vonrandom_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:
- Anfragen zur Kontingenterhöhung
- Aktuelle Kontingentnutzung und -limits ansehen
- Höheres Kontingentlimit anfordern