Interfejs Google Workspace Events API jest usługą udostępnianą, dlatego stosujemy limity, aby mieć pewność, że wszyscy użytkownicy będą z niego korzystać w równym stopniu, i chronić ogólną wydajność Google Workspace.
Jeśli przekroczysz limit, otrzymasz odpowiedź z kodem stanu HTTP 429: Too many requests
. Dodatkowe kontrole limitu liczby żądań w backendzie interfejsu Google Workspace Events API również mogą generować tę samą odpowiedź błędu. Jeśli wystąpi ten błąd, użyj algorytmu wykładniczego wycofywania i spróbuj ponownie później. Jeśli zmieścisz się w limitach na minutę wymienionych w poniższych tabelach, nie ma limitu liczby żądań, które możesz przesłać dziennie.
Limity na projekt
Limity na projekt ograniczają liczbę zapytań w projekcie Google Cloud, więc mają zastosowanie do pojedynczej aplikacji wywołującej określone metody Google Workspace Events API w przypadku każdego limitu.
W tabeli poniżej znajdziesz szczegółowe informacje o limitach zapytań dla poszczególnych projektów. Limity te znajdziesz też na stronie Limity w konsoli Google Cloud.
Limit na projekt |
Metody interfejsu Google Workspace Events API |
Limit |
---|---|---|
Zapisy na minutę |
|
600 |
Zapisy na minutę na użytkownika |
|
100 |
Odczyt na minutę |
|
600 |
Odczyt na minutę na użytkownika |
|
100 |
Napraw błędy limitu ograniczonego czasowo
W przypadku wszystkich błędów czasowych (maksymalnie N żądań na X minut) zalecamy, aby Twój kod wyłapał wyjątek i używał skróconego wykładniczego ponowienia, aby urządzenia nie powodowały nadmiernego obciążenia.
Wykładniczy czas ponowienia to standardowa strategia obsługi błędów w aplikacjach sieciowych. Algorytm wykładniczy ponawiania prób ponawiania żądań, w wyniku których rośnie wykładniczo czas oczekiwania między żądaniami aż do maksymalnego czasu do ponowienia. Jeśli żądania wciąż nie są realizowane, ważne jest, aby opóźnienia między żądaniami wzrastały w miarę upływu czasu do momentu ich zrealizowania.
Przykładowy algorytm
Algorytm wykładniczy ponawiania prób wykładniczych, wydłużając czas oczekiwania między kolejnymi próbami aż do osiągnięcia maksymalnego czasu do ponowienia. Na przykład:
- Wyślij żądanie do interfejsu Google Workspace Events API.
- Jeśli żądanie się nie powiedzie, zaczekaj 1 +
random_number_milliseconds
i spróbuj jeszcze raz. - Jeśli żądanie się nie powiedzie, zaczekaj 2 +
random_number_milliseconds
i spróbuj jeszcze raz. - Jeśli żądanie się nie powiedzie, poczekaj 4 +
random_number_milliseconds
i spróbuj jeszcze raz. - I tak dalej, do
maximum_backoff
raz. - Zaczekaj i ponów próbę, maksymalnie do maksymalnej liczby ponownych 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)
, przy czymn
dla każdej iteracji (żądania) zwiększa się o 1. random_number_milliseconds
to losowa liczba milisekund,mniejsza lub równa 1000. Pomaga to uniknąć sytuacji, w której wielu klientów jest synchronizowanych w określonej sytuacji i wszystkie ponawiają próby jednocześnie, wysyłając żądania w zsynchronizowanych falach. Wartośćrandom_number_milliseconds
jest przeliczana po każdym ponownym żądaniu.maximum_backoff
to zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może kontynuować ponawianie próby po osiągnięciu limitu maximum_backoff
.
Ponowne próby po tym punkcie nie muszą wydłużać czasu do ponowienia. Jeśli na przykład klient używa czasu maximum_backoff
wynoszącego 64 sekundy, to po osiągnięciu tej wartości klient może ponawiać próbę co 64 sekundy. W pewnym momencie klienty powinny utracić możliwość ponawiania prób w nieskończoność.
Czas oczekiwania między kolejnymi próbami a liczbą ponownych prób zależy od konkretnego przypadku użycia i warunków sieci.
Poproś o zwiększenie limitu na projekt
W zależności od wykorzystania zasobów w projekcie możesz poprosić o zwiększenie limitu. Wywołania interfejsu API przez konto usługi są uznawane za korzystające z jednego konta. Zgłoszenie do programu o zwiększonym limicie nie gwarantuje jego zatwierdzenia. Zatwierdzenie dużego zwiększenia limitu może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. W miarę jak z czasem będziesz korzystać z Google Cloud, Twoje limity mogą wymagać zwiększenia. Jeśli spodziewasz się znacznego wzrostu wykorzystania, możesz aktywnie poprosić o korektę limitów na stronie Limity w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach: