Limity wykorzystania

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ę

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

600

Zapisy na minutę na użytkownika

Subscriptions.create

Subscriptions.patch

Subscriptions.delete

Subscriptions.reactivate

100

Odczyt na minutę

Subscriptions.get

Subscriptions.list

600

Odczyt na minutę na użytkownika

Subscriptions.get

Subscriptions.list

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:

  1. Wyślij żądanie do interfejsu Google Workspace Events API.
  2. Jeśli żądanie się nie powiedzie, zaczekaj 1 + random_number_milliseconds i spróbuj jeszcze raz.
  3. Jeśli żądanie się nie powiedzie, zaczekaj 2 + random_number_milliseconds i spróbuj jeszcze raz.
  4. Jeśli żądanie się nie powiedzie, poczekaj 4 + random_number_milliseconds i spróbuj jeszcze raz.
  5. I tak dalej, do maximum_backoff raz.
  6. 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 czym n 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: