Отчет о потоковой передаче данных с использованием GoogleAdsService

Для получения данных из API Google Ads и данных для отчетов используйте один из следующих методов:

Вот основные отличия этих двух методов:

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

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

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

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

Пример

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

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

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

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

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

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

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

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