雖然大多數服務都提供同步 API,需要您提出要求並等待回應,但 BatchJobService 可讓您在多項服務上執行批次作業,而不必同步等待作業完成。
與服務專屬的變動作業不同,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 不支援的操作
BookCampaignsOperation(適用於MutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(適用於MutateOperation;validate_only必須設為true)