Interfejs Google Vault API jest usługą współdzieloną, dlatego stosujemy limity i ograniczenia, aby zapewnić wszystkim użytkownikom sprawiedliwe korzystanie z niej i chronić ogólną kondycję systemu Google Workspace.
Limity produktów
W organizacji nie można przeprowadzać więcej niż 20 eksportów naraz.
Limity żądań do interfejsu API
Każda organizacja może odczytać 600 spraw na minutę we wszystkich projektach i użytkownikach, w tym w przypadku żądań wysyłanych przez Vault API i vault.google.com.
W tabelach poniżej znajdziesz limity żądań na minutę w przypadku poszczególnych projektów:
| Liczba żądań odczytu na minutę na projekt | |
|---|---|
| Eksport, sprawa i zapisane zapytanie | 120 |
| Wstrzymaj | 228 |
| Długo trwająca operacja | 300 |
| Liczba żądań zapisu na minutę na projekt | |
|---|---|
| Eksportuj | 20 |
| Wstrzymaj | 60 |
| Uprawnienia do sprawy | 30 |
| Matter | 60 |
| Zapisane zapytanie | 45 |
| Liczba żądań wyszukiwania na minutę na projekt | |
|---|---|
| Liczba wyszukiwań | 20 |
Wykorzystanie limitu według metody
Limit wykorzystany przez żądanie zależy od wywołanej metody. W tabeli poniżej znajdziesz informacje o wykorzystaniu limitu dla poszczególnych metod:
| Metoda | Koszty limitów |
|---|---|
matters.closematters.creatematters.deletematters.reopenmatters.updatematters.undelete
|
1 sprawa odczytana 1 sprawa zapisana |
matters.count |
1 sztuka |
matters.get |
1 sprawa przeczytana |
matters.list |
10 spraw |
matters.addPermissionsmatters.removePermissions
|
1 sprawa odczytana 1 sprawa zapisana 1 sprawa z uprawnieniami do zapisu |
matters.exports.create |
1 odczyt zadania eksportu 10 zapisów zadania eksportu |
matters.exports.delete |
1 eksport zapisu |
matters.exports.get |
Odczytano 1 eksport |
matters.exports.list |
5 artykułów o eksportowaniu |
matters.holds.addHeldAccountsmatters.holds.creatematters.holds.deletematters.holds.removeHeldAccountsmatters.holds.update
|
1 sprawa odczytana 1 sprawa zapisana 1 blokada odczytana 1 blokada zapisana |
matters.holds.list |
1 sprawa przeczytana 3 wstrzymane odczyty |
matters.holds.accounts.creatematters.holds.accounts.deletematters.holds.accounts.list
|
1 sprawa odczytana 1 sprawa zapisana 1 blokada odczytana 1 blokada zapisana |
matters.savedQueries.creatematters.savedQueries.delete
|
1 sprawa odczytana 1 sprawa zapisana 1 zapisane zapytanie odczytane 1 zapisane zapytanie zapisane |
matters.savedQueries.get |
1 sprawa odczytana 1 zapisane zapytanie odczytane |
matters.savedQueries.list |
1 sprawa przeczytana 3 odczyty zapisanych zapytań |
operations.get |
1 odczyt długo trwającej operacji |
Rozwiązywanie błędów związanych z limitami czasowymi
Jeśli przekroczysz limit na minutę lub na organizację, zwykle otrzymasz odpowiedź z kodem stanu HTTP 429: Too many requests.
W przypadku wszystkich błędów związanych z czasem (maksymalnie N żądań w ciągu 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 aplikacjach 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 są odrzucane, ważne jest, aby opóźnienia między żądaniami z czasem się zwiększały, aż żądanie zostanie zaakceptowane.
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:
- Wysyłanie żądania do interfejsu Google Vault API.
- Jeśli prośba się nie powiedzie, poczekaj 1 +
random_number_millisecondsi spróbuj ponownie. - Jeśli żądanie się nie powiedzie, poczekaj 2 +
random_number_millisecondsi spróbuj ponownie. - Jeśli prośba się nie powiedzie, poczekaj 4 +
random_number_millisecondsi spróbuj ponownie. - I tak dalej, aż do
maximum_backoffrazy. - Kontynuuj oczekiwanie i ponawianie prób do osiągnięcia maksymalnej liczby prób, ale nie wydłużaj czasu oczekiwania między próbami.
gdzie:
- Czas oczekiwania wynosi
min(((2^n)+random_number_milliseconds), maximum_backoff), a wartośćnjest zwiększana o 1 w przypadku każdej iteracji (żądania). random_number_millisecondsto losowa liczba milisekund mniejsza lub równa 1000. Pomaga to uniknąć sytuacji, w których wielu klientów jest synchronizowanych przez pewne zdarzenie i wszyscy ponawiają próbę w tym samym czasie, wysyłając żądania w zsynchronizowanych falach. Wartośćrandom_number_millisecondsjest ponownie obliczana po każdej próbie ponowienia.maximum_backoffwynosi zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.
Klient może ponawiać próby po osiągnięciu czasu maximum_backoff.
Ponowne próby po tym momencie nie muszą wydłużać czasu do ponowienia. Jeśli na przykład klient używa czasu maximum_backoff 64 sekund, 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.
Poproś o zwiększenie limitu
W zależności od wykorzystania zasobów w projekcie możesz poprosić o dostosowanie 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 dostosowanie 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 zwiększania wykorzystania Google Cloud wartości limitów mogą wymagać zwiększenia. Jeśli spodziewasz się znacznego wzrostu wykorzystania, możesz z wyprzedzeniem poprosić o zmianę limitów na stronie Limity przydziału i limity systemu w konsoli Google Cloud.
Więcej informacji znajdziesz w tych materiałach:
- Informacje o dostosowywaniu limitów
- Wyświetlanie wykorzystania limitu i samych limitów
- Wysyłanie prośby o wyższy limit
Ceny
Korzystanie z interfejsu Google Vault API jest dostępne bez dodatkowych opłat dla klientów Google Workspace.