Limity i przydziały chronią infrastrukturę Google przed zautomatyzowanymi procesami, które w nieodpowiedni sposób korzystają z interfejsu Alert Center API. Nadmierna liczba żądań z interfejsu API może być spowodowana nieszkodliwą literówką lub nieefektywnie zaprojektowanym systemem, który wykonuje niepotrzebne wywołania interfejsu API. Niezależnie od przyczyny blokowanie ruchu z określonego źródła po osiągnięciu przez nie określonego poziomu jest konieczne dla ogólnej kondycji systemu Google Workspace. Pomaga to zapewnić, że działania jednego dewelopera nie będą miały negatywnego wpływu na większą społeczność.
W mało prawdopodobnym przypadku nieudanego żądania do interfejsu API otrzymasz kod stanu HTTP. Kod stanu 403 zawiera informacje o błędach związanych z nieprawidłowym wejściem, a kod stanu HTTP 503 zawiera informacje o błędach wskazujące, które limity interfejsu API zostały przekroczone. Te odpowiedzi umożliwiają aplikacji niestandardowej wykrywanie tych błędów i podejmowanie odpowiednich działań.
Jeśli żądania muszą zostać zrealizowane w określonym czasie, wysyłaj je równolegle lub używaj wielu wątków w aplikacji Java lub C#. Przykładem równoległych żądań jest wysyłanie żądań małych partii e-maili od różnych użytkowników zamiast jednoczesnego dodawania lub usuwania wielu e-maili od jednego użytkownika. W przypadku wątków spróbuj zacząć od 10 wątków, po jednym na e-maila użytkownika. Pamiętaj, że zalecenie dotyczące wątków ma swoje wady i nie jest przydatne we wszystkich sytuacjach związanych z interfejsem API. Jeśli liczba żądań będzie zbyt duża, wystąpią błędy limitu.
W przypadku wszystkich błędów opartych na czasie (maksymalnie N elementów przez N sekund na wątek), zwłaszcza błędów z kodem stanu 503, zalecamy, aby kod przechwytywał wyjątek i, używając algorytmu wykładniczego wycofywania , czekał przez krótki czas przed ponowieniem nieudanego wywołania. Przykładem interfejsu Alert Center API dla jednego wątku jest odczekanie 5 sekund i ponowienie nieudanego wywołania. Jeśli żądanie się powiedzie, powtórz ten wzorzec w przypadku pozostałych wątków. Jeśli drugie żądanie się nie powiedzie, aplikacja powinna zmniejszyć częstotliwość żądania, aż do momentu, gdy wywołanie się powiedzie. Na przykład zwiększ początkowe opóźnienie 5 sekund do 10 sekund i ponownie spróbuj wykonać nieudane wywołanie. Określ też limit ponowień. Na przykład przed zwróceniem błędu użytkownikowi przez aplikację ponów żądanie 5–7 razy z różnymi czasami opóźnienia.
| Kategorie limitów interfejsu API | Limity |
|---|---|
| Liczba zapytań na sekundę i liczbę zapytań na dzień w Centrum alertów | Interfejs API ogranicza liczbę żądań w projekcie Google Cloud.
Maksymalna liczba żądań na sekundę w projekcie interfejsu API (liczba zapytań na sekundę w projekcie)
wynosi 1000. Maksymalna liczba żądań na użytkownika na sekundę
(liczba zapytań na sekundę na użytkownika) wynosi 150.
Jeśli te limity zostaną przekroczone, serwer zwróci kod stanu HTTP
|
| Inne rodzaje limitów | Ograniczenia i wytyczne |
|---|---|
| Format danych, domyślny | Domyślny format danych to JSON. |
| Nieautoryzowane żądania | Google nie zezwala na nieautoryzowane żądania do tego interfejsu API. Żądanie jest uważane za nieautoryzowane, jeśli nie podano tokena autoryzacji. Więcej informacji znajdziesz w artykule Autoryzowanie żądań. |
Wysyłanie prośby o zwiększenie limitu na projekt
W zależności od wykorzystania zasobów w projekcie możesz poprosić o zmianę limitu. Wywołania interfejsu API przez konto usługi są traktowane jako korzystanie z jednego konta. Wysłanie wniosku o zmianę limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie próśb o zmianę limitu, które znacznie zwiększają jego wartość, może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. W miarę upływu czasu i coraz częstszego korzystania z Google Cloud może być konieczne zwiększenie wartości limitów. Jeśli przewidujesz znaczny wzrost wykorzystania w najbliższym czasie, możesz aktywnie poprosić o zmianę limitów na stronie Limity i ograniczenia systemu w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Informacje o dostosowywaniu limitów
- Wyświetlanie wykorzystania limitów i limitów
- Wysyłanie prośby o wyższy limit