虽然大多数服务都提供同步 API,要求您发出请求,然后等待响应,但 BatchJobService 提供了一种在多个服务上执行批量操作的方法,而无需同步等待操作完成。
与特定于服务的 mutate 操作不同,BatchJobService 中的单个作业可以针对广告系列、广告组、广告、条件、标签和 Feed 项的混合集合运行。提交的作业并行运行,并且 BatchJobService 会自动重试因速率限制错误等暂时性错误而失败的操作。Google Ads API 仍会按照 API 操作的计数说明,将每次操作计入每日操作次数上限。
借助 BatchJobService,您还可以在请求中使用临时 ID,以便在单个作业中提交相关操作。
运维
BatchJobService 支持 MutateOperation 中列出的所有操作,但有几个重要的例外情况。
由于 Google Ads API 会在启用部分失败的情况下执行作业中的所有操作,因此,如果作业被取消或个别操作失败,已成功执行的操作将不会回滚。
MutateOperation 中的以下操作必须是原子性的,因此不支持部分失败,并且不支持在批处理作业中使用。请避免将这些操作添加到作业中,在请求中将 partial_failure 设置为 false,并在 GoogleAdsService 中使用 mutate 方法。
BatchJobService 中不支持的操作
CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperation