보고서 스트리밍

Google Ads API를 사용하여 항목 및 보고 데이터를 검색하는 메서드에는 세 가지가 있습니다.

이 가이드에서는 주로 GoogleAdsService의 스트리밍 데이터를 중점적으로 설명합니다. 다음은 세 가지 데이터 검색 방법에 대한 대략적인 차이점입니다.

GoogleAdsService.SearchStream GoogleAdsService.Search GET 요청
프로덕션 코드에 적합 아니요 (디버깅 전용)
서비스 GoogleAdsService GoogleAdsService 리소스별 서비스 (예: CampaignService)
시나리오 객체 및 보고서 가져오기 객체 및 보고서 가져오기 객체 가져오는 중
응답 GoogleAdsRow 객체의 스트림 GoogleAdsRow 객체의 페이지 객체 1개 (예: Campaign)
응답 필드 검색어에 지정된 항목만 검색어에 지정된 항목만 모든 필드가 채워짐
일일 한도 액세스 수준에 따른 일일 한도 액세스 수준에 따른 일일 한도 요청 1,000개/일

Search는 페이지 매김된 여러 요청을 전체 보고서를 다운로드하도록 전송할 수 있지만 SearchStream는 보고서 크기에 관계없이 단일 요청을 보내고 Google Ads API와 영구 연결을 시작합니다.

SearchStream의 경우 데이터 패킷이 즉시 다운로드되기 시작하고 전체 결과가 데이터 버퍼에 캐시됩니다. 전체 스트림이 완료될 때까지 기다릴 필요 없이 코드에서 버퍼링된 데이터 읽기를 시작할 수 있습니다.

앱에 따라 Search 응답의 각 개별 페이지를 요청하는 데 필요한 왕복 네트워크 시간을 없애 SearchStream를 사용하면 특히 크기가 큰 보고서에서 페이징보다 향상된 성능을 제공할 수 있습니다.

예를 들어 100,000개 행으로 구성된 보고서를 살펴보겠습니다. 다음 표에서는 두 가지 방법의 계산 차이를 설명합니다.

SearchStream 검색
페이지 크기 해당 없음 페이지당 10,000행
API 요청 수 요청 1개 요청 10개
API 응답 수 연속 스트림 1개 응답 10개

성능 요소

일반적으로 다음과 같은 이유로 Search보다 SearchStream를 사용하는 것이 좋습니다.

  • 단일 페이지 보고서 (10,000행 미만): 두 방법 간에 큰 성능 차이가 없습니다.

  • 여러 페이지 보고서의 경우: 일반적으로 여러 번의 왕복을 피하고 디스크 캐시에서의 읽기/쓰기가 중요하지 않으므로 SearchStream이 더 빠릅니다.

비율 제한

두 메서드의 일일 한도는 개발자 토큰의 표준 한도 및 액세스 수준을 준수합니다. 단일 쿼리 또는 보고서는 페이징되거나 스트리밍되는 결과에 관계없이 하나의 작업으로 계산됩니다.