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

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

Aqui estão as principais distinções dos dois métodos:

GoogleAdsService.SearchStream GoogleAdsService.Search
Adequado para código de produção Sim Sim
Serviço GoogleAdsService GoogleAdsService
Cenário Como buscar objetos e relatórios Como buscar objetos e relatórios
Resposta Fluxo de objetos GoogleAdsRow Páginas de objetos GoogleAdsRow
Campos da resposta Somente aqueles especificados na consulta Somente aqueles especificados na consulta
Limites diários Limites diários com base nos níveis de acesso Limites diários com base nos níveis de acesso

Enquanto Search pode 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 persistente com a API Google Ads, seja qual for o tamanho do relatório.

Para SearchStream, o download dos pacotes de dados começa 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 o término de todo o stream.

Ao eliminar o tempo de rede de ida e volta necessário para solicitar cada página de uma resposta de Search, dependendo do seu app, o SearchStream pode oferecer um desempenho melhor 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 contábeis 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

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

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

  • Para relatórios de várias páginas: SearchStream normalmente é mais rápido, porque várias viagens de ida e volta são evitadas e a leitura ou gravação do cache de disco é menos importante.

Limitações de taxa

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