Meskipun sebagian besar layanan menyediakan API sinkron yang mengharuskan Anda membuat permintaan
lalu menunggu respons, BatchJobService menyediakan cara untuk melakukan batch operasi pada beberapa layanan tanpa menunggu operasi selesai secara sinkron.
Tidak seperti operasi mutate khusus layanan, satu tugas di
BatchJobService dapat beroperasi terhadap kumpulan campuran
kampanye, grup iklan, iklan, kriteria, label, dan aset. Tugas yang dikirimkan berjalan secara paralel, dan BatchJobService otomatis mencoba ulang operasi yang gagal karena error sementara seperti error pembatasan kapasitas. Google Ads API masih menghitung setiap operasi terhadap
batas operasi harian Anda, mengikuti
petunjuk penghitungan operasi API.
BatchJobService juga memungkinkan Anda menggunakan
ID sementara dalam permintaan sehingga Anda dapat mengirimkan operasi dependen
dalam satu tugas.
Operasi
BatchJobService mendukung semua operasi yang tercantum di
MutateOperation yang layanan dasarnya mendukung
kegagalan sebagian, serta
AssetGroupOperation dan
AssetGroupListingGroupFilterOperation, yang secara
eksplisit dikecualikan dan dieksekusi (bersama dengan operasi yang saling bergantung terkait)
dalam sub-batch atomik.
Karena Google Ads API menjalankan operasi standar dalam tugas dengan kegagalan sebagian diaktifkan (kecuali dalam sub-batch atomik), jika tugas dibatalkan atau operasi individual gagal, operasi yang berhasil tidak akan di-roll back.
Operasi berikut di MutateOperation harus bersifat
atomik dan tidak mendukung kegagalan sebagian, sehingga tidak
didukung dalam tugas batch. Menambahkan salah satu operasi ini ke tugas batch
akan menampilkan
MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE
error (atau InternalError.INTERNAL_ERROR untuk
BookCampaignsOperation dan
QuoteCampaignsOperation). Sebagai gantinya, jalankan operasi tersebut menggunakan
GoogleAdsService.Mutate dengan partial_failure ditetapkan ke
false (dan validate_only ditetapkan ke true untuk
QuoteCampaignsOperation).
Operasi yang tidak didukung di BatchJobService
BookCampaignsOperation(tersedia diMutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(tersedia diMutateOperation; memerlukanvalidate_onlyyang ditetapkan ketrue)