Obecnie przenosimy niektóre typy raportów z raportów offline na błyskawiczne. Gdy użytkownik zostanie przeniesiony, odpowiedzi queries.list będą zawierać istniejące raporty błyskawiczne. Więcej informacji znajdziesz na naszym blogu.
Limity chronią infrastrukturę Google przed zautomatyzowanymi procesami, które w niewłaściwy sposób korzystają z interfejsu Google Bid Manager API. Dzięki nim działania jednego dewelopera nie mogą negatywnie wpłynąć na większą społeczność.
Limity
Poniższe domyślne limity limitów są wspólne dla wszystkich zasobów i metod interfejsu Bid Manager API.
W Konsoli interfejsów API Google limit ten jest nazywany zapytaniami na minutę na użytkownika i ma wartość 240.
Przekroczenie limitu
W mało prawdopodobnym przypadku, gdy żądanie nie powiedzie się z powodu przekroczenia limitu, API zwróci kod stanu HTTP i przyczyną błędu. Dodatkowo treść odpowiedzi zawiera szczegółowy opis przyczyny błędu. Przykładową odpowiedź o błędzie znajdziesz w przewodniku po komunikatach o błędach.
Poniższa lista zawiera możliwe błędy i zalecane działania w przypadku niepowodzenia żądań spowodowanych przekroczeniem limitów.
Kod
Przyczyna
przekaz,
Zalecane działanie
403
dailyLimitExceeded
Przekroczono limit dzienny
Nie próbuj ponownie bez rozwiązania problemu. Sprawdź wykorzystanie zasobów w konsoli interfejsów API Google i zmodyfikuj przepływ pracy, tak aby zmniejszyć liczbę żądań. Jeśli uważasz, że wykorzystanie limitu jest uzasadnione, możesz poprosić o zwiększenie limitu.
Wykładniczy czas ponowienia to standardowa strategia obsługi błędów w aplikacjach sieciowych, w której klient przez dłuższy czas ponawia próbę nieudanego żądania. Jeśli duża liczba żądań lub duży ruch w sieci powoduje, że serwer zwraca błędy, dobrym rozwiązaniem w przypadku tych błędów może być wykładnicze ponawianie. Nie sprawdza się natomiast w przypadku błędów niezwiązanych z liczbą sieci lub czasem odpowiedzi, takich jak nieprawidłowe dane uwierzytelniające lub błędy „Nie znaleziono pliku”.
Poprawne wykorzystanie wykładniczego ponowienia zwiększa wydajność wykorzystania przepustowości, zmniejsza liczbę żądań wymaganych do uzyskania pomyślnej odpowiedzi i maksymalizuje przepustowość żądań w środowiskach równoczesnych.
Proces implementacji prostego wykładniczego ponowienia jest następujący:
Wyślij żądanie do interfejsu API.
Otrzymasz odpowiedź HTTP 503, co oznacza, że musisz ponowić żądanie.
Zaczekaj 1 sekundę + random_number_milliseconds i spróbuj ponownie.
Otrzymasz odpowiedź HTTP 503, co oznacza, że musisz ponowić żądanie.
Zaczekaj 2 sekundy + random_number_milliseconds i spróbuj ponownie wysłać żądanie.
Otrzymasz odpowiedź HTTP 503, co oznacza, że musisz ponowić żądanie.
Zaczekaj 4 sekundy + random_number_milliseconds i spróbuj ponownie.
Otrzymasz odpowiedź HTTP 503, co oznacza, że musisz ponowić żądanie.
Zaczekaj 8 sekund + random_number_milliseconds i spróbuj ponownie.
Otrzymasz odpowiedź HTTP 503, co oznacza, że musisz ponowić żądanie.
Zaczekaj 16 sekund + random_number_milliseconds i spróbuj ponownie.
Zatrzymaj. Zgłoś lub zarejestruj błąd.
W powyższym procesie random_number_milliseconds to losowa liczba milisekund mniejszą lub równą 1000. Jest to konieczne, ponieważ wprowadzenie niewielkiego opóźnienia losowego pozwala bardziej równomiernie rozłożyć obciążenie i uniknąć możliwości oznaczenia serwera śladami. Wartość random_number_milliseconds musi być ponownie zdefiniowana po każdym oczekiwaniu.
Uwaga: czas oczekiwania zawsze wynosi (2 ^ n) + losowa_liczba_milisekund, gdzie n to monotonicznie rosnąca liczba całkowita zdefiniowana jako 0. Liczba całkowita n zwiększa się o 1 przy każdej iteracji (każdym żądaniu).
Algorytm kończy działanie, gdy wartość n wynosi 5. Ten limit zapobiega nieskończonemu ponawianiu prób klientów i powoduje całkowite opóźnienie (około 32 sekundy) przed uznaniem żądania za „nieodwracalny błąd”. Można użyć większej liczby ponownych prób, zwłaszcza jeśli trwa przesyłanie długiego czasu. Pamiętaj tylko, by ustawić rozsądną wartość opóźnienia na mniej niż minutę.
Wysyłam prośbę o dodatkowy limit dzienny
Jeśli uważasz, że Twoja aplikacja wymaga dodatkowego limitu dziennego, możesz poprosić o jego zwiększenie, wykonując poniższe instrukcje.
Poniższe instrukcje dotyczą tylko projektów, w których wystąpił błąd dailyLimitExceeded. Zalecane działania w przypadku innych błędów limitu znajdziesz w tabeli powyżej.
Sprawdź statystyki użytkowania na stronie Wskaźniki, aby upewnić się, że aplikacja działa zgodnie z oczekiwaniami. Zanim przejdziesz dalej, zwróć szczególną uwagę na używane metody i rozwiąż je w przypadku nieoczekiwanego lub nadmiernego wykorzystania.
Jeśli wykorzystanie wygląda normalnie, otwórz stronę Limity, kliknij ikonę edycji obok opcji Zapytania dziennie i kliknij link „Poproś o zwiększenie limitu”.
Przed przesłaniem prośby o zwiększenie limitu zapoznaj się z tymi informacjami i postępuj zgodnie z instrukcjami zawartymi w formularzu prośby o zwiększenie limitu.
[null,null,["Ostatnia aktualizacja: 2024-08-22 UTC."],[[["Google Bid Manager API uses quotas to protect its infrastructure and ensure fair usage for all developers."],["Default quota limits include 2,000 requests per project per day and 4 queries per second per project."],["Exceeding quota limits results in specific error codes, requiring actions like reducing requests or using exponential backoff."],["Exponential backoff is a retry strategy for handling temporary errors by gradually increasing wait times between requests."],["Developers can request additional daily quota through the Google API Console if needed."]]],[]]