Mặc dù hầu hết các dịch vụ đều cung cấp API đồng bộ yêu cầu bạn đưa ra yêu cầu rồi chờ phản hồi, nhưng BatchJobService cung cấp một cách để thực hiện các lô thao tác trên nhiều dịch vụ mà không cần chờ các thao tác đó hoàn tất một cách đồng bộ.
Không giống như các thao tác thay đổi theo dịch vụ cụ thể, một công việc duy nhất trong BatchJobService có thể hoạt động dựa trên một tập hợp kết hợp gồm các chiến dịch, nhóm quảng cáo, quảng cáo, tiêu chí, nhãn và thành phần. Các công việc đã gửi sẽ chạy song song và BatchJobService sẽ tự động thử lại các thao tác không thành công do lỗi tạm thời, chẳng hạn như lỗi giới hạn số lượng yêu cầu. Google Ads API vẫn tính từng thao tác vào hạn mức thao tác hằng ngày, theo hướng dẫn tính thao tác API.
BatchJobService cũng cho phép bạn sử dụng mã tạm thời trong các yêu cầu để có thể gửi các thao tác phụ thuộc trong một công việc duy nhất.
Vận hành
BatchJobService hỗ trợ tất cả các thao tác được liệt kê trong MutateOperation mà dịch vụ cơ bản hỗ trợ lỗi một phần, cũng như AssetGroupOperation và AssetGroupListingGroupFilterOperation, được miễn trừ và thực thi một cách rõ ràng (cùng với các thao tác phụ thuộc lẫn nhau có liên quan) trong các lô phụ nguyên tử.
Vì Google Ads API thực thi các thao tác chuẩn trong một công việc có bật chế độ lỗi một phần (ngoại trừ trong các lô phụ nguyên tử), nên nếu một công việc bị huỷ hoặc các thao tác riêng lẻ không thành công, thì các thao tác thành công sẽ không được khôi phục.
Các thao tác sau trong MutateOperation phải là thao tác nguyên tử và không hỗ trợ lỗi một phần, vì vậy, các thao tác này không được hỗ trợ trong công việc theo lô. Việc thêm bất kỳ thao tác nào trong số này vào một công việc theo lô sẽ trả về lỗi MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (hoặc InternalError.INTERNAL_ERROR cho BookCampaignsOperation và QuoteCampaignsOperation). Thay vào đó, hãy thực thi các thao tác này bằng GoogleAdsService.Mutate, trong đó partial_failure được đặt thành false (và validate_only được đặt thành true cho QuoteCampaignsOperation).
Các thao tác không được hỗ trợ trong BatchJobService
BookCampaignsOperation(có trongMutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(có trongMutateOperation; yêu cầu đặtvalidate_onlythànhtrue)