批处理

虽然大多数服务都提供同步 API,需要您发出请求 然后等待响应,但 BatchJobService 提供了一种 对多个服务执行批量操作的方法,而无需同步 等待操作完成。

与特定于服务的 mutate 操作不同, BatchJobService 中的单个作业可以针对 广告系列、广告组、广告、条件、标签和素材资源的混合集合运行。提交的作业并行运行,BatchJobService 会自动重试因瞬时错误(例如速率限制错误)而失败的操作。Google Ads API 仍会按照 API 操作计数说明,将每个操作计入您的 每日操作限制。

BatchJobService 还允许您在请求中使用 临时 ID,以便您可以在单个作业中提交依赖性 操作。

操作

BatchJobService 支持 MutateOperation 中列出的所有操作(其底层服务支持 部分失败),以及 AssetGroupOperation 和 AssetGroupListingGroupFilterOperation,这些操作会被 明确豁免,并在 原子子批次中执行(以及相关的相互依赖的操作)。

由于 Google Ads API 会在启用了 部分失败的作业中执行标准操作( 原子子批次内除外),因此,如果作业被取消或 单个操作失败,则成功的操作不会回滚。

MutateOperation 中的以下操作必须是 原子的,并且不支持部分失败,因此在批量作业中不受支持。如果将其中任何操作添加到批量作业,系统会返回 MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE 错误(对于 BookCampaignsOperation和 QuoteCampaignsOperation,则返回InternalError.INTERNAL_ERROR)。请改为使用 GoogleAdsService.Mutate执行这些操作,并将partial_failure设置为false(对于 QuoteCampaignsOperation,则将validate_only设置为true)。

BatchJobService 中不支持的操作