Geração de relatórios de streaming usando o GoogleAdsService

Para recuperar entidades e dados de relatórios da API Google Ads, use um destes métodos:

Estas são as principais distinções para os dois métodos:

GoogleAdsService.SearchStream GoogleAdsService.Search
Adequado para código de produção Sim Sim
Serviço GoogleAdsService GoogleAdsService
Cenário Buscando objetos e relatórios Buscando objetos e relatórios
Resposta Stream de objetos GoogleAdsRow Páginas de objetos GoogleAdsRow
Campos da resposta Somente o que é especificado na consulta Somente o que é especificado na consulta
Limites diários Limites diários baseados nos níveis de acesso Limites diários baseados nos níveis de acesso

Embora Search possa enviar várias solicitações paginadas para fazer o download do relatório inteiro, SearchStream envia uma única solicitação e inicia uma conexão permanente com a API Google Ads, independentemente do tamanho do relatório.

Para SearchStream, o download dos pacotes de dados é iniciado imediatamente com todo o resultado armazenado em cache em um buffer de dados. O código pode começar a ler os dados armazenados em buffer sem precisar esperar a conclusão de todo o stream.

Ao eliminar o tempo de ida e volta necessário para solicitar cada página de uma resposta Search, dependendo do app, o SearchStream pode oferecer melhor desempenho em relação à paginação, especialmente para relatórios maiores.

Exemplo

Considere um relatório que consiste em 100,000 linhas, por exemplo. A tabela a seguir detalha as diferenças de contabilização entre os dois métodos.

SearchStream Pesquisar
Tamanho da página Não aplicável 10.000 linhas por página
Número de solicitações de API 1 solicitação 10 solicitações
Número de respostas da API 1 stream contínuo 10 respostas

Fatores de desempenho

Para a maioria dos casos de uso, recomendamos SearchStream em vez de Search pelos seguintes motivos:

  • Para relatórios de página única (menos de 10 mil linhas): não há diferenças de desempenho significativas entre os dois métodos.

  • Para relatórios de várias páginas: o SearchStream normalmente é mais rápido, já que vários ciclos de ida e volta são evitados e a leitura ou gravação do cache de disco é menos um fator.

Limitações de taxa

Os limites diários dos dois métodos aderem aos limites padrão e aos níveis de acesso do token de desenvolvedor. Uma única consulta ou relatório é contado como uma operação, independentemente do resultado ser paginado ou transmitido.