Interfejs Google Chat API jest usługą współdzieloną, dlatego stosujemy limity i ograniczenia, aby zapewnić sprawiedliwe korzystanie z niego przez wszystkich użytkowników i chronić ogólną wydajność Google Workspace.
Jeśli przekroczysz limit, otrzymasz odpowiedź z kodem stanu HTTP 429: Too many requests. Dodatkowe sprawdzenie limitu liczby żądań w backendzie Google Chat może też wygenerować tę samą odpowiedź z błędem. Jeśli wystąpi ten błąd, użyj algorytmu wykładniczego wycofywania i spróbuj ponownie później. Dopóki nie przekroczysz limitów na minutę wymienionych w tabelach poniżej, nie ma ograniczeń co do liczby żądań, które możesz wysłać dziennie.
Do metod interfejsu Chat API mogą mieć zastosowanie różne typy limitów: na projekt, na pokój i na użytkownika.
Limity na projekt
Limity na projekt ograniczają liczbę zapytań w projekcie w chmurze Google Cloud i dlatego dotyczą pojedynczej aplikacji Google Chat, która wywołuje określone metody interfejsu Chat API dla każdego limitu.
W tabeli poniżej znajdziesz szczegółowe informacje o limitach zapytań na projekt. Te limity znajdziesz też na stronie Limity.
Limit na projekt |
Metody interfejsu Chat API |
Limit (na 60 sekund) |
|---|---|---|
Liczba zapisów wiadomości na minutę |
|
3000 |
Liczba odczytów wiadomości na minutę |
|
3000 |
Liczba zapisów członkostwa na minutę |
|
300 |
Liczba odczytów członkostwa na minutę |
|
3000 |
Liczba zapisów pokoju na minutę |
|
60 |
Liczba odczytów pokoju na minutę |
|
3000 |
Liczba zapisów załączników na minutę |
|
600 |
Liczba odczytów załączników na minutę |
|
3000 |
Liczba zapisów reakcji na minutę |
|
600 |
Liczba odczytów reakcji na minutę |
|
3000 |
Liczba zapisów niestandardowych emoji na minutę |
|
600 |
Liczba odczytów niestandardowych emoji na minutę |
|
3000 |
Liczba zapisów sekcji na minutę |
|
600 |
Liczba odczytów sekcji na minutę |
|
3000 |
Liczba odczytów dostępności na minutę |
|
3000 |
Liczba zapisów dostępności na minutę |
|
3000 |
Limity na pokój
Limity na pokój ograniczają liczbę zapytań w danym pokoju i są współdzielone przez wszystkie aplikacje Google Chat działające w tym pokoju, które wywołują wymienione metody interfejsu Chat API dla każdego limitu.
W tabeli poniżej znajdziesz szczegółowe informacje o limitach zapytań na pokój:
Limit na pokój |
Metody interfejsu Chat API |
Limit (na sekundę) |
|---|---|---|
Liczba odczytów na sekundę |
|
15 |
Liczba zapisów na sekundę |
|
1 |
Liczba zapisów tworzenia reakcji na sekundę |
|
5 |
Liczba zapisów wiadomości na sekundę podczas importowania danych do Google Chat |
|
10 |
Limity na użytkownika
Limity na użytkownika ograniczają liczbę zapytań użytkownika Google Chat. Zapytania dotyczą wszystkich aplikacji Google Chat, które wywołują metodę interfejsu Chat API w imieniu użytkownika (przy użyciu uwierzytelnienia użytkownika).
W tabeli poniżej znajdziesz szczegółowe informacje o limitach zapytań na użytkownika:
Limit na użytkownika |
Metody interfejsu Chat API |
Limit (na sekundę) |
|---|---|---|
Liczba zapisów niestandardowych emoji na sekundę |
|
1 |
Liczba odczytów niestandardowych emoji na sekundę |
|
15 |
Liczba zapisów na sekundę |
|
1 |
Liczba odczytów na sekundę |
|
15 |
Dodatkowe limity wykorzystania
Duży ruch w interfejsie API kierowany do tego samego pokoju może spowodować przekroczenie dodatkowych limitów wewnętrznych, które nie są widoczne na stronie Limity.
Rozwiązywanie błędów związanych z limitami czasowymi
W przypadku wszystkich błędów związanych z czasem (maksymalnie N żądań na X minut) zalecamy aby kod przechwytywał wyjątek i używał skróconego wzrastającego czasu do ponowienia, aby urządzenia nie generowały nadmiernego obciążenia.
Wzrastający czas do ponowienia to standardowa strategia obsługi błędów w przypadku aplikacji sieciowych. Algorytm wzrastającego czasu do ponowienia ponawia żądania, używając wykładniczo rosnących czasów oczekiwania między żądaniami, aż do maksymalnego czasu do ponowienia. Jeśli żądania nadal się nie powiodą, ważne jest, aby opóźnienia między żądaniami z czasem się zwiększały, aż żądanie się powiedzie.
Przykładowy algorytm
Algorytm wzrastającego czasu do ponowienia ponawia żądania wykładniczo, zwiększając czas oczekiwania między ponownymi próbami aż do maksymalnego czasu do ponowienia. Na przykład:
- Wyślij żądanie do interfejsu Google Chat API.
- Jeśli żądanie się nie powiedzie, odczekaj 1 +
random_number_millisecondsi ponów próbę żądania. - Jeśli żądanie się nie powiedzie, odczekaj 2 +
random_number_millisecondsi ponów próbę żądania. - Jeśli żądanie się nie powiedzie, odczekaj 4 +
random_number_millisecondsi ponów próbę żądania. - I tak dalej, aż do czasu
maximum_backoff. - Kontynuuj oczekiwanie i ponawianie prób aż do maksymalnej liczby ponownych prób, ale nie zwiększaj czasu oczekiwania między ponownymi próbami.
gdzie:
- Czas oczekiwania to
min(((2^n)+random_number_milliseconds), maximum_backoff), anjest zwiększane o 1 w każdej iteracji (żądaniu). random_number_millisecondsto losowa liczba milisekund mniejsza lub równa 1000. Pomaga to uniknąć sytuacji, w których wielu klientów jest zsynchronizowanych przez jakąś sytuację i wszyscy ponawiają próbę jednocześnie, wysyłając żądania w zsynchronizowanych falach. Wartośćrandom_number_millisecondsjest ponownie obliczana po każdym żądaniu ponowienia próby.maximum_backoffto zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może kontynuować ponawianie prób po osiągnięciu czasu maximum_backoff.
Ponowne próby po tym czasie nie muszą już zwiększać czasu do ponowienia. Jeśli
na przykład klient używa czasu maximum_backoff wynoszącego 64 sekundy, po osiągnięciu
tej wartości może ponawiać próbę co 64 sekundy. W pewnym momencie,
należy uniemożliwić klientom ponawianie prób w nieskończoność.
Czas oczekiwania między ponownymi próbami i liczba ponownych prób zależą od przypadku użycia i warunków sieciowych.
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ększyłyby jego wartość, może potrwać dłużej.
Nie wszystkie projekty mają takie same limity. W miarę upływu czasu i zwiększania wykorzystania Google Cloud może być konieczne zwiększenie wartości limitu. Jeśli przewidujesz znaczny wzrost wykorzystania, możesz aktywnie poprosić o zmianę limitu 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 i limitów
- Wysyłanie prośby o wyższy limit
Limity serwera Chat MCP
Serwer Chat MCP używa wskaźnika alokacji kosztów zapytań. W tabelach poniżej znajdziesz szczegółowe informacje o kosztach zapytań dla każdej metody serwera Chat MCP według sekcji:
Limity Chat MCP
Obowiązują 2 typy limitów:
Na minutę na projekt: jest to koszt zapytania do projektu Google Cloud na minutę.
Na minutę na użytkownika na projekt: jest to koszt zapytania do projektu w chmurze Google Cloud na minutę, z którego może korzystać dowolny użytkownik. Ten limit ma na celu zapewnienie sprawiedliwego rozkładu wykorzystania między użytkownikami.
W tabeli poniżej znajdziesz szczegółowe informacje o tych limitach:
| Typ limitu wykorzystania | Koszt zapytania |
|---|---|
| Na minutę na projekt | 3000 |
| Na minutę na użytkownika na projekt | 300 |
Zestawy narzędzi Chat MCP
W tabeli poniżej znajdziesz szczegółowe informacje o kosztach zapytań dla każdego zestawu narzędzi chatmcp.googleapis.com:
Punkt końcowy |
Narzędzie |
Koszt zapytania |
|---|---|---|
/mcp/v1 |
|
1 |
|
10 |
|
|
10 |
|
|
10 |
Więcej informacji znajdziesz w dokumentacji interfejsu Chat MCP API Reference.