批次處理

大多數服務都提供同步 API,您必須提出要求,然後等待回應,但 BatchJobService 可讓您對多項服務執行批次作業,不必同步等待作業完成。

與服務專屬的變動作業不同,BatchJobService 中的單一工作可對廣告活動、廣告群組、廣告、條件、標籤和素材資源的混合集合執行作業。提交的工作會平行執行,且 BatchJobService 會自動重試因暫時性錯誤 (例如速率限制錯誤) 而失敗的作業。Google Ads API 仍會根據 API 作業的計數說明,將每項作業計入每日作業限制

BatchJobService 也允許您在要求中使用臨時 ID,以便在單一工作中提交相依作業。

作業

BatchJobService 支援 MutateOperation 中列出的所有作業,這些作業的基礎服務支援部分失敗,以及 AssetGroupOperationAssetGroupListingGroupFilterOperation,這些作業會明確豁免並執行 (連同相關的互依作業),位於完整子批次中。

由於 Google Ads API 會在啟用部分失敗的作業中執行標準作業 (不可分割的子批次除外),因此如果取消作業或個別作業失敗,系統不會回溯成功執行的作業。

MutateOperation 中的下列作業必須是不可分割的作業,且不支援部分失敗,因此批次作業不支援這些作業。將任何這類作業新增至批次工作都會傳回 MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE 錯誤 (或 BookCampaignsOperationQuoteCampaignsOperationInternalError.INTERNAL_ERROR)。請改用 GoogleAdsService.Mutate 執行這些作業,並將 partial_failure 設為 false (以及將 validate_only 設為 true,以用於 QuoteCampaignsOperation)。

BatchJobService 中不支援的作業