Interfejs Google Drive API jest usługą współdzieloną, dlatego stosujemy limity Dbamy o to, aby wszyscy użytkownicy korzystali z niego w sposób równomierny, i aby chronić ogólną wydajność w systemie Google Workspace.
Powiadomienia dostarczane na adres podany podczas
otwarcie kanału powiadomień nie wlicza się do limitu. Pamiętaj jednak:
połączenia z numerem changes.watch
,
channels.stop
i
files.watch
metody są zaliczane do
do limitu miejsca na dane.
Jeśli przekroczysz limit, otrzymasz 403: User rate limit
exceeded
Odpowiedź kodu stanu HTTP. Dodatkowe kontrole limitu liczby żądań na stronie
Backend Dysku może też wygenerować plik 429: Too many
requests
. W takim przypadku należy użyć wykładniczego czasu do ponowienia
i spróbuj ponownie później. Zakładając, że będziesz w
na minutę, nie ma limitu liczby żądań, które możesz przesłać
dziennie.
W tabeli poniżej znajdziesz szczegółowe informacje o limitach zapytań:
Limity | |||||
---|---|---|---|---|---|
Zapytania |
|
Rozwiązywanie błędów limitów czasowych
W przypadku wszystkich błędów zależnych od czasu (maksymalnie N żądań na X min) zalecamy kod przechwytuje ten wyjątek i używa obciętego wykładniczego czasu do ponowienia, aby zapewnić urządzenia nie generują nadmiernego obciążenia.
Wykładniczy czas do ponowienia to standardowa strategia obsługi błędów w aplikacjach sieciowych. An algorytm wykładniczego ponowienia ponawia próby żądania, wykorzystując wykładniczo wydłużające się czasy oczekiwania między żądaniami aż do maksymalnego czasu ponowienia. Jeśli żądania nadal nie zostaną zrealizowane, ważne, że opóźnienia między prośbami zwiększają się z czasem do momentu, gdy żądanie zostanie rozpatrzone pozytywnie.
Przykładowy algorytm
Wykładniczy algorytm do ponawiania wielokrotnie ponawia próby żądania, zwiększając czas oczekiwania. między ponownymi próbami aż do maksymalnego czasu ponowienia. Na przykład:
- Wyślij żądanie do Google Drive API.
- Jeśli żądanie się nie powiedzie, poczekaj 1 +
random_number_milliseconds
i spróbuj ponownie do ich przesłania. - Jeśli żądanie się nie powiedzie, poczekaj 2 +
random_number_milliseconds
i spróbuj ponownie do ich przesłania. - Jeśli żądanie się nie powiedzie, poczekaj 4 +
random_number_milliseconds
i spróbuj ponownie do ich przesłania. - I tak dalej, maksymalnie
maximum_backoff
raz. - Zaczekaj i ponawiaj próby aż do określonej maksymalnej liczby prób, ale nie wydłużaj czasu oczekiwania między kolejnymi próbami.
gdzie:
- Czas oczekiwania wynosi
min(((2^n)+random_number_milliseconds), maximum_backoff)
, z wartościąn
przyrostową o 1 dla każdej iteracji (żądania). random_number_milliseconds
jest losową liczbą milisekund mniejszą niż lub równy 1000. Pozwala to uniknąć przypadków, w których wiele klientów jest zsynchronizowanych przez w jakiejś sytuacji i spróbuje ponownie jednocześnie wysyłać żądania fale. Wartość funkcjirandom_number_milliseconds
jest obliczana ponownie po każdej spróbuj jeszcze raz.maximum_backoff
zwykle trwa 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może ponawiać próby po osiągnięciu maximum_backoff
czasu.
Ponowne próby po tym punkcie nie muszą przez cały czas wydłużać czasu do ponowienia. Dla:
np. jeśli klient używa czasu maximum_backoff
wynoszącego 64 sekundy, a następnie po osiągnięciu
tę wartość, klient może ponawiać próby co 64 sekundy. W pewnym momencie
nie powinno się uniemożliwić ponawianiu prób w nieskończoność.
Czas oczekiwania między ponownymi próbami a liczba ponownych prób zależy od konkretnego przypadku użycia i stanu sieci.
Ceny
Z interfejsu Google Drive API można korzystać bez dodatkowych opłat. Przekroczenie limitu nie wiąże się z dodatkowymi opłatami, a Twoje konto nie jest obciążane.
Poproś o zwiększenie limitu
W zależności od wykorzystania zasobów projektu możesz poprosić o zwiększenie limitu wzrost. Uznaje się, że wywołania interfejsu API przez konto usługi korzystają z metody jedno konto. Zgłoszenie prośby o zwiększenie limitu nie gwarantuje jego zatwierdzenia. Duże Zatwierdzenie zwiększenia limitu może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. Ponieważ coraz częściej korzystasz z Google Cloud w ramach limity czasu mogą wymagać zwiększenia limitu. Jeśli spodziewasz się w nadchodzącym okresie wzrost wykorzystania, możesz proaktywnie poproś o korektę limitu na stronie Limity w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Prośby o zwiększenie limitu
- Wyświetlanie bieżącego wykorzystania limitu i limitów
- Wysyłanie prośby o zwiększenie limitu