Limity wykorzystania

Interfejs Google Vault API jest usługą współdzieloną, dlatego stosujemy limity i ograniczenia, aby zapewnić wszystkim użytkownikom sprawiedliwe korzystanie z niego 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ę na projekt:

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 wykorzystywany 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.close
matters.create
matters.delete
matters.reopen
matters.update
matters.undelete
1 sprawa odczytana
1 sprawa zapisana
matters.count 1 sztuka
matters.get 1 sprawa przeczytana
matters.list 10 spraw do przeczytania
matters.addPermissions
matters.removePermissions
1 sprawa odczytana
1 sprawa zapisana
1 sprawa zapisana z uprawnieniami
matters.exports.create 1 odczyt eksportu
10 zapisów eksportu
matters.exports.delete 1 eksport zapisu
matters.exports.get Odczytano 1 eksport
matters.exports.list 5 artykułów o eksportowaniu
matters.holds.addHeldAccounts
matters.holds.create
matters.holds.delete
matters.holds.removeHeldAccounts
matters.holds.update
1 sprawa odczyt
1 sprawa zapis
1 blokada odczyt
1 blokada zapis
matters.holds.list 1 sprawa przeczytana
3 wstrzymane odczyty
matters.holds.accounts.create
matters.holds.accounts.delete
matters.holds.accounts.list
1 sprawa odczyt
1 sprawa zapis
1 blokada odczyt
1 blokada zapis
matters.savedQueries.create
matters.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ń na X minut) zalecamy, aby kod przechwytywał wyjątek i używał skróconego wycofywania wykładniczego, 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 wykładniczego wycofywania ponawia żądania, używając wykładniczo rosnących czasów oczekiwania między żądaniami, aż do maksymalnego czasu wycofywania. Jeśli żądania nadal nie są realizowane, ważne jest, aby opóźnienia między nimi z czasem się zwiększały, aż żądanie zostanie zrealizowane.

Przykładowy algorytm

Algorytm wykładniczego wycofywania ponawia żądania wykładniczo, zwiększając czas oczekiwania między ponownymi próbami aż do maksymalnego czasu wycofywania. Na przykład:

  1. Wysyłanie żądania do interfejsu Google Vault API.
  2. Jeśli prośba się nie powiedzie, poczekaj 1 + random_number_milliseconds i spróbuj ponownie.
  3. Jeśli żądanie się nie powiedzie, poczekaj 2 + random_number_milliseconds i spróbuj ponownie.
  4. Jeśli prośba się nie powiedzie, poczekaj 4 + random_number_milliseconds i spróbuj ponownie.
  5. I tak dalej, aż do maximum_backoff.
  6. 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ść n jest zwiększana o 1 w przypadku każdej iteracji (żądania).
  • random_number_milliseconds to losowa liczba milisekund mniejsza lub równa 1000. Pomaga to uniknąć sytuacji, w których wielu klientów jest synchronizowanych w określonych okolicznościach i wszyscy ponawiają próbę w tym samym czasie, wysyłając żądania w zsynchronizowanych falach. Wartość random_number_milliseconds jest ponownie obliczana po każdej próbie ponowienia.
  • maximum_backoff wynosi zwykle 32 lub 64 sekundy. Odpowiednia wartość zależy od przypadku użycia.

Klient może ponawiać próby po osiągnięciu limitu maximum_backoff. Ponowne próby po tym momencie nie muszą już wydłużać czasu oczekiwania. 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.

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 zwiększenie limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie próśb o dostosowanie limitu, które znacznie zwiększają wartość limitu, 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 w konsoli Google Cloud.

Więcej informacji znajdziesz w tych materiałach:

Ceny

Korzystanie z interfejsu Google Vault API jest dostępne bez dodatkowych opłat dla klientów Google Workspace.