Menggunakan ID sementara

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.