Strumieniowanie raportów

Istnieją 3 metody pobierania elementów i danych raportowania za pomocą interfejsu Google Ads API.

Ten przewodnik dotyczy głównie strumieniowania danych z GoogleAdsService. Oto ogólne różnice między 3 metodami pobierania danych:

GoogleAdsService.SearchStream GoogleAdsService.Search Żądania GET
Zalecane w przypadku kodu produkcyjnego Yes Yes Nie (tylko do debugowania)
Usługa GoogleAdsService GoogleAdsService Usługi związane z zasobami (np. CampaignService)
Scenariusz Pobieranie obiektów i raportów Pobieranie obiektów i raportów Pobieranie obiektów
Odpowiedź Strumień obiektów GoogleAdsRow Strony obiektów GoogleAdsRow 1 obiekt (na przykład Campaign)
Pola odpowiedzi Tylko te określone w zapytaniu Tylko te określone w zapytaniu Wszystkie pola zostały wypełnione
Limity dzienne Limity dzienne na podstawie poziomów dostępu Limity dzienne na podstawie poziomów dostępu 1000 żądań dziennie

Chociaż narzędzie Search może wysyłać żądania pobrania całego raportu podzielone na strony, SearchStream wysyła jedno żądanie i inicjuje trwałe połączenie z interfejsem Google Ads API niezależnie od rozmiaru raportu.

W przypadku SearchStream pobieranie pakietów danych rozpoczyna się natychmiast, a cały wynik jest przechowywany w buforcie danych. Kod może rozpocząć odczytywanie danych zbuforowanych bez konieczności czekania na zakończenie całego strumienia.

Dzięki eliminacji czasu przesyłania danych w obie strony wymagane do żądania każdej strony w odpowiedzi Search (zależnie od Twojej aplikacji) SearchStream może zapewniać wyższą skuteczność w przypadku stronicowania, zwłaszcza w przypadku większych raportów.

Przykład

Przeanalizuj np. raport składający się z 100,000 wierszy. W tabeli poniżej przedstawiono różnice księgowe między tymi metodami.

SearchStream Wyszukiwarka
Rozmiar strony Nie dotyczy 10 000 wierszy na stronę
Liczba żądań do interfejsu API 1 żądanie 10 próśb
Liczba odpowiedzi interfejsu API 1 ciągły strumień 10 odpowiedzi

Czynniki skuteczności

Ogólnie zalecamy SearchStream zamiast Search z podanych niżej powodów.

  • Raporty na jednej stronie (poniżej 10 000 wierszy): brak istotnych różnic w skuteczności między tymi metodami.

  • W przypadku raportów obejmujących wiele stron: SearchStream działa zwykle szybciej, ponieważ unika się powtarzania wielokrotnie, a odczyt i zapis z pamięci podręcznej na dysku to mniejsze znaczenie.

Ograniczenia liczby żądań

Limity dzienne w przypadku obu metod są zgodne ze standardowymi limitami i poziomami dostępu tokena programisty. Pojedyncze zapytanie lub raport są liczone jako jedna operacja niezależnie od tego, czy wynik zostanie podzielony na strony czy przesłana strumieniowo.