使用 GoogleAdsService 报告流式传输

如需检索 Google Ads API 实体和报告数据,请使用以下方法之一:

以下是这两种方法的主要区别:

GoogleAdsService.SearchStream GoogleAdsService.Search
适用于生产代码
服务 GoogleAdsService GoogleAdsService
场景 提取对象和报告 提取对象和报告
响应 of GoogleAdsRow objects GoogleAdsRow 对象的页面
响应的字段 仅查询中指定的字段 仅查询中指定的字段
每日限额 基于访问权限级别的每日限额 基于访问权限级别的每日限额

虽然 Search 可以发送多个 分页请求来下载整个报告,但 SearchStream 会发送单个请求并 与 Google Ads API 建立持久连接,而无论报告大小如何。

对于 SearchStream,数据包会立即开始下载,整个结果会缓存在数据缓冲区中。您的代码可以开始读取缓冲的数据,而无需等待整个流完成。

通过消除请求每个单独 页面所需的往返网络时间,具体取决于您的应用,SearchStream可以提供比分页更好的性能,尤其是在处理较大报告时。Search

示例

此示例查看包含 100,000 行的报告。下表详细列出了这两种方法之间的会计差异。

SearchStream Search
页面大小 不适用 每页 10,000 行
API 请求数 1 个请求 10 个请求
API 响应数 1 个连续流 10 个响应

性能因素

对于大多数使用场景,我们建议使用 SearchStream 而不是 Search,原因如下 :

  • 对于单页报告(少于 10,000 行):这两种方法之间没有明显的性能差异。

  • 对于多页报告:SearchStream 通常更快,因为避免了多次往返,并且从磁盘缓存读取或写入的因素较小。

速率限制

这两种方法的每日限额均遵循开发者令牌的标准限额和访问 权限级别。无论结果是分页还是流式传输,单个查询或报告都算作一次操作。