Nutzungsbeschränkungen

Da die Google Drive API ein gemeinsam genutzter Dienst ist, wenden wir Kontingente und Einschränkungen an, um sicherzustellen, dass sie von allen Nutzern fair verwendet wird und um die Gesamtleistung des Google Workspace-Systems zu schützen.

Benachrichtigungen, die an die Adresse gesendet werden, die beim Öffnen eines Benachrichtigungskanals angegeben wurde, werden nicht auf Ihre Kontingentlimits angerechnet. Anrufe der Methoden changes.watch, channels.stop und files.watch werden jedoch auf Ihr Kontingent angerechnet.

Wenn Sie ein Kontingent überschreiten, erhalten Sie eine 403: User rate limit exceeded Antwort mit dem HTTP-Statuscode. Zusätzliche Ratenlimitprüfungen im Drive-Back-End können auch eine 429: Too many requests Antwort generieren. In diesem Fall sollten Sie einen exponentiellen Backoff Algorithmus verwenden und es später noch einmal versuchen. Sofern Sie die unten aufgeführten Kontingente pro Minute nicht überschreiten, gibt es keine Beschränkung für die Anzahl der Anfragen, die Sie pro Tag stellen können.

In der folgenden Tabelle sind die Abfragelimits aufgeführt:

Kontingente
Abfragen
Pro 60 Sekunden 12.000
Pro 60 Sekunden pro Nutzer 12.000

Zeitbasierte Kontingentfehler beheben

Bei allen zeitbasierten Fehlern (maximal N Anfragen pro X Minuten) empfehlen wir Ihnen, dass Ihr Code die Ausnahme abfängt und einen abgeschnittenen exponentiellen Backoff verwendet, um zu verhindern, dass Ihre Geräte eine übermäßige Last erzeugen.

Exponentielle Backoffs bilden eine Standard-Fehlerbehandlungsstrategie für Netzwerkanwendungen. Ein exponentieller Backoff-Algorithmus wiederholt Anfragen mit exponentiell zunehmenden Wartezeiten zwischen den Anfragen bis zur maximalen Backoff-Zeit. Wenn Anfragen weiterhin fehlschlagen, müssen die Verzögerungen zwischen den Anfragen im Laufe der Zeit zunehmen, bis die Anfrage erfolgreich ist.

Beispielalgorithmus

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

  1. Stellen Sie eine Anfrage an die Google Drive 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. Das System wartet weiter und führt erneute Versuche bis zu einer maximalen Anzahl an Wiederholungsversuchen aus, jedoch ohne den zeitlichen Abstand zwischen zwei Versuchen zu erhöhen.

Dabei gilt:

  • Die Wartezeit beträgt min(((2^n)+random_number_milliseconds), maximum_backoff), wobei n bei jeder Ausführung (Anfrage) um 1 erhöht wird.
  • random_number_milliseconds steht für eine zufällige Anzahl von Millisekunden,deren Wert größer oder gleich 1.000 ist. So lassen sich Situationen vermeiden, in denen viele Clients synchronisiert werden durch eine Situation und alle gleichzeitig Anfragen wiederholen und diese in synchronisierten Wellen senden. Der Wert von random_number_milliseconds wird nach jeder Anfragewiederholung neu berechnet.
  • maximum_backoff ist normalerweise 32 oder 64 Sekunden lang. Der geeignete Wert hängt vom jeweiligen 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. Wenn ein Client beispielsweise eine maximum_backoff Zeit von 64 Sekunden verwendet, kann er den Vorgang nach Erreichen dieses Werts alle 64 Sekunden noch einmal versuchen. Sie sollten jedoch dafür sorgen, dass er dies nicht unbegrenzt tut.

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

Preise

Die Nutzung der Google Drive API ist kostenlos. Wenn Sie die Kontingent anfragelimits ü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 Kontingent anpassung anfordern. API-Aufrufe durch ein Dienstkonto werden als Nutzung eines einzelnen Kontos betrachtet. Wenn Sie ein angepasstes Kontingent beantragen, bedeutet dies nicht, dass Ihr Antrag auch genehmigt wird. Die Genehmigung von Anfragen zur Kontingentanpassung , die den Kontingentwert erheblich erhöhen würden, kann länger dauern.

Es gelten nicht für alle Projekte dieselben Kontingente. Wenn Sie Google Cloud im Laufe der Zeit häufiger nutzen, müssen Ihre Kontingentwerte möglicherweise erhöht werden. Falls Sie eine deutlich stärkere Auslastung erwarten, können Sie proaktiv eine Anpassung Ihres Kontingents anfordern auf der Seite Kontingente der Google Cloud Console.

Weitere Informationen finden Sie in folgenden Dokumenten: