Чтобы получить сущности API Google Ads и отчетные данные, используйте один из следующих методов:
Вот основные различия между этими двумя методами:
GoogleAdsService.SearchStream | GoogleAdsService.Search | |
---|---|---|
Подходит для производственного кода | Да | Да |
Услуга | GoogleAdsService | GoogleAdsService |
Сценарий | Извлечение объектов и отчетов | Извлечение объектов и отчетов |
Ответ | Поток объектов GoogleAdsRow | Страницы объектов GoogleAdsRow |
Поля ответа | Только те, которые указаны в запросе | Только те, которые указаны в запросе |
Дневные лимиты | Ежедневные лимиты на основе уровней доступа | Ежедневные лимиты на основе уровней доступа |
SearchStream
против Search
В то время как Search
может отправлять несколько постраничных запросов для загрузки всего отчета, SearchStream
отправляет один запрос и инициирует постоянное соединение с API Google Ads независимо от размера отчета.
В SearchStream
пакеты данных начинают загружаться немедленно, а весь результат кэшируется в буфере данных. Ваш код может начать чтение буферизованных данных, не дожидаясь завершения загрузки всего потока.
Устраняя время кругового обмена данными по сети, необходимое для запроса каждой отдельной страницы ответа Search
(в зависимости от вашего приложения), SearchStream
может обеспечить более высокую производительность по сравнению с постраничным просмотром, особенно для больших отчетов.
Пример
В этом примере рассматривается отчёт, состоящий из 100,000
строк. В следующей таблице представлены различия в учёте между двумя методами.
SearchStream | Поиск | |
---|---|---|
Размер страницы | Непригодный | 10 000 строк на странице |
Количество API-запросов | 1 запрос | 10 запросов |
Количество ответов API | 1 непрерывный поток | 10 ответов |
Факторы производительности
В большинстве случаев использования мы рекомендуем SearchStream
вместо Search
по следующим причинам:
Для одностраничных отчетов (менее 10 000 строк): существенных различий в производительности между двумя методами не обнаружено.
Для многостраничных отчетов:
SearchStream
обычно работает быстрее, поскольку избегает множественных циклов передачи данных, а чтение или запись из кэша диска играет меньшую роль.
Ограничения по скорости
Дневные лимиты для обоих методов соответствуют стандартным лимитам и уровням доступа вашего токена разработчика. Один запрос или отчёт считается одной операцией независимо от того, выводится ли результат на страницу или выводится потоком.