Limity wykorzystania

Interfejs Drive Labels 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ą kondycję ekosystemu Google Workspace.

Jeśli przekroczysz limit, zwykle otrzymasz odpowiedź z kodem stanu HTTP 429: Too many requests. W takim przypadku użyj algorytmu wzrastającego czasu do ponowienia i spróbuj ponownie później. Jeśli nie przekroczysz podanych poniżej limitów na minutę, nie ma ograniczeń co do liczby żądań, które możesz wysłać w ciągu dnia.

W tabeli poniżej znajdziesz limity żądań:

Limity
Żądania odczytu
Za użytkownika na projekt 600 (zapytań na sekundę)
Żądania zapisu
Za użytkownika na projekt 300 (zapytań na sekundę)

Rozwiązywanie błędów związanych z limitami czasowymi

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 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 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 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 żądań do interfejsu Drive Labels 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 przez pewne zdarzenie 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ą wydłużać czasu oczekiwania. 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.

Ceny

Korzystanie z interfejsu Drive Labels API jest bezpłatne. Przekroczenie limitów zapytań nie wiąże się z dodatkowymi opłatami, a na Twoim koncie nie są naliczane żadne płatności.

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 w konsoli Google Cloud.

Więcej informacji znajdziesz w tych materiałach: