Потоковая передача отчетов с помощью GoogleAdsService

Чтобы получить объекты Google Ads API и данные отчетов, вы можете использовать один из этих методов:

Вот общие различия между двумя методами:

GoogleAdsService.SearchStream GoogleAdsService.Search
Подходит для производственного кода Да Да
Услуга GoogleAdsService GoogleAdsService
Сценарий Получение объектов и отчетов Получение объектов и отчетов
Ответ Поток объектов GoogleAdsRow Страницы объектов GoogleAdsRow
Поля ответа Только те, которые указаны в запросе Только те, которые указаны в запросе
Дневные лимиты Дневные лимиты в зависимости от уровня доступа Дневные лимиты в зависимости от уровня доступа

В то время как Search может отправлять несколько запросов с разбивкой на страницы для загрузки всего отчета, SearchStream отправляет один запрос и инициирует постоянное соединение с API Google Рекламы независимо от размера отчета.

Для SearchStream пакеты данных начинают загружаться немедленно, а весь результат кэшируется в буфере данных. Ваш код может начать чтение буферизованных данных, не дожидаясь завершения всего потока.

Устраняя время прохождения по сети, необходимое для запроса каждой отдельной страницы ответа Search , SearchStream может обеспечить более высокую производительность по сравнению с пейджингом, особенно для более крупных отчетов.

Пример

Возьмем, к примеру, отчет, состоящий из 100,000 строк. В следующей таблице представлены различия в учете между двумя методами.

Поисковый поток Поиск
Размер страницы Непригодный 10 000 строк на странице
Количество запросов API 1 запрос 10 запросов
Количество ответов API 1 непрерывный поток 10 ответов

Факторы производительности

В большинстве случаев использования мы рекомендуем SearchStream вместо Search по следующим причинам:

  • Для одностраничных отчетов (менее 10 000 строк): существенных различий в производительности между двумя методами нет.

  • Для многостраничных отчетов: SearchStream обычно работает быстрее, поскольку исключается несколько циклов обработки и чтение или запись из дискового кэша не так важны.

Ограничения ставок

Дневные лимиты для обоих методов соответствуют стандартным лимитам и уровням доступа вашего токена разработчика. Один запрос или отчет считается одной операцией независимо от того, выводится ли результат на страницу или в потоковую передачу.