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 mutasi 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 akan otomatis mencoba ulang operasi yang gagal karena error sementara seperti error pembatasan kapasitas. Google Ads API tetap 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 dalam
MutateOperation yang layanan dasarnya mendukung
kegagalan parsial, serta
AssetGroupOperation dan
AssetGroupListingGroupFilterOperation, yang
secara eksplisit dikecualikan dan dijalankan (bersama dengan operasi terkait yang saling bergantung)
dalam sub-batch atomik.
Karena Google Ads API menjalankan operasi standar dalam tugas dengan kegagalan parsial 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 parsial, sehingga tidak didukung dalam tugas batch. Menambahkan salah satu operasi ini ke tugas batch akan menampilkan error MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (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)