Salah satu fitur canggih BatchJobService
adalah
mendukung penggunaan ID sementara.
Anda dapat melakukannya dengan menentukan resource_name
resource baru untuk menggunakan
ID negatif. Misalnya, jika Anda membuat kampanye dan menentukan nama resource-nya
sebagai customers/<YOUR_CUSTOMER_ID>/campaigns/-1
, maka saat Anda membuat
grup iklan dalam operasi berikutnya, Anda dapat mereferensikannya melalui nama sumber daya dan
-1
yang Anda tentukan akan diganti dengan ID sebenarnya dari kampanye yang dibuat
secara otomatis.
Berikut adalah beberapa hal yang perlu diingat saat menggunakan nama resource sementara:
- Nama resource sementara hanya dapat digunakan setelah didefinisikan dalam resource Anda Pada contoh di bawah, operasi grup iklan harus muncul setelah operasi kampanye dalam daftar operasi.
- Nama resource sementara tidak diingat di seluruh tugas atau permintaan mutasi; untuk mereferensikan resource yang dibuat dalam tugas sebelumnya atau bermutasi, gunakan nama resource yang sebenarnya.
- Untuk satu tugas atau permintaan mutasi, setiap nama resource sementara harus menggunakan angka negatif unik, meskipun berasal dari jenis resource yang berbeda. Jika ID sementara digunakan kembali dalam satu tugas atau bermutasi permintaan, maka error akan dikembalikan.
Contoh
Untuk memberikan contoh yang lebih konkret untuk situasi yang disebutkan di atas, misalkan Anda ingin menambahkan kampanye, grup iklan, dan iklan dalam satu permintaan API. Anda akan membuat struktur untuk permintaan Anda yang serupa dengan berikut ini:
mutate_operations: [
{
campaign_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1",
...
}
}
},
{
ad_group_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2",
campaign: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1"
...
}
}
},
{
ad_group_ad_operation: {
create: {
ad_group: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2"
...
}
}
},
]
Perhatikan bahwa ID sementara yang baru digunakan untuk grup iklan, karena kita tidak dapat menggunakannya kembali
-1
yang digunakan untuk kampanye, dan kami juga mereferensikan grup iklan ini saat
membuat iklan grup iklan. Grup iklan itu sendiri merujuk ke
nama sumber daya yang kita
ditetapkan untuk kampanye dalam operasi sebelumnya dalam permintaan, sedangkan
resource_name
di ad_group_ad_operation
tidak diperlukan karena tidak diperlukan
sebenarnya yang mereferensikannya.