Limity wykorzystania

Interfejs API Dokumentów Google jest usługą ogólnodostępną, dlatego stosujemy limity i ograniczenia, aby mieć pewność, że wszyscy użytkownicy korzystają z niej uczciwie, aby chronić ogólny stan systemu 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.

W tabeli poniżej znajdziesz szczegółowe informacje o limitach żądań:

Limity
Żądania odczytu
Za minutę na projekt 3000
Za minutę na użytkownika i projekt 300
Żądania zapisu
Za minutę na projekt 600
Za minutę na użytkownika i projekt 60

Popraw błędy dotyczące limitu czasu

W przypadku wszystkich błędów czasowych (maksymalnie N żądań w X minutach) zalecamy wychwycenie wyjątku i użycie skróconego wykładniczego ponowienia, aby zapewnić, że urządzenia nie będą generować nadmiernego obciążenia.

Wykładnicze wycofywanie to standardowa strategia obsługi błędów w aplikacjach sieciowych. Wykładniczy algorytm ponawiania prób ponawia próbę użycia żądań z użyciem wykładniczo wydłużającego czas oczekiwania między żądaniami, aż do osiągnięcia maksymalnego czasu do ponowienia. Jeśli żądania nadal nie są realizowane, muszą one rosnąć stopniowo, aż zostanie ono zrealizowane.

Przykładowy algorytm

Algorytmy wykładniczego ponawiania prób ponawiają próby, zwiększając czas oczekiwania między kolejnymi próbami do maksymalnego czasu ponowienia. Na przykład:

  1. Wyślij żądanie do interfejsu Google Docs API.
  2. Jeśli żądanie się nie powiedzie, odczekaj 1 + random_number_milliseconds i spróbuj ponownie.
  3. Jeśli żądanie się nie powiedzie, odczekaj 2 + random_number_milliseconds i spróbuj jeszcze raz.
  4. Jeśli prośba się nie powiedzie, zaczekaj 4 + random_number_milliseconds i spróbuj jeszcze raz.
  5. I tak dalej, aż do maximum_backoff raza.
  6. Zaczekaj kilka razy i spróbuj jeszcze raz, ale nie wydłużaj okresu między kolejnymi próbami.

gdzie:

  • Czas oczekiwania wynosi min(((2^n)+random_number_milliseconds), maximum_backoff), a wartość n zwiększa się o 1 dla 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 zsynchronizowanych przez pewną sytuację, i wszystkich prób jednocześnie, wysyłając żądania w zsynchronizowanych falach. Wartość random_number_milliseconds jest ponownie obliczana po każdym żądaniu ponownej próby.
  • maximum_backoff zazwyczaj trwa 32 lub 64 sekundy. Odpowiednia wartość zależy od konkretnego przypadku użycia.

Po osiągnięciu maximum_backoff klient może spróbować ponownie. Po tym czasie kolejne próby nie muszą już zwiększać czasu do ponowienia. Jeśli np. klient używa ustawienia maximum_backoff przez 64 sekundy, po osiągnięciu tej wartości klient może próbować ponownie co 64 sekundy. Klienty powinny być w pewnym momencie zablokowane ponawianie próby w nieskończoność.

Czas oczekiwania między kolejnymi próbami a liczbą ponownych prób zależy od konkretnego przypadku użycia i warunków sieciowych.

Ceny

Z interfejsu Google Docs API można korzystać bez dodatkowych opłat. Przekroczenie limitów żądania nie spowoduje naliczenia dodatkowych opłat, a konto nie zostanie obciążone.

Poproś o zwiększenie limitu

W zależności od wykorzystania zasobów projektu możesz poprosić o zwiększenie limitu. Wywołania interfejsu API z konta usługi są uznawane za 1 konto. Składanie wniosku o zwiększenie limitu nie gwarantuje jego zatwierdzenia. Zatwierdzenie dużego zwiększenia limitu może potrwać dłużej.

Nie wszystkie projekty mają takie same limity. Ponieważ z czasem coraz częściej korzystasz z Google Cloud, konieczne może być zwiększenie limitów. Jeśli spodziewasz się znacznego wzrostu wykorzystania, możesz poprosić o dostosowanie limitów na stronie Limity w konsoli Google Cloud.

Więcej informacji znajdziesz w tych materiałach: