Menggunakan ID sementara

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, saat membuat grup iklan dalam operasi berikutnya, Anda dapat mereferensikannya dengan nama resource tersebut dan -1 yang Anda tentukan akan otomatis diganti dengan ID sebenarnya dari kampanye yang dibuat.

Berikut beberapa hal yang perlu diingat saat menggunakan nama resource sementara:

  • Nama resource sementara hanya dapat digunakan setelah ditentukan dalam resource. 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 atau permintaan mutasi sebelumnya, gunakan nama resource 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 permintaan mutasi, error akan ditampilkan.

Contoh

Untuk memberikan contoh yang lebih konkret pada situasi yang disebutkan di atas, misalkan Anda ingin menambahkan kampanye, grup iklan, dan iklan dalam satu permintaan API. Anda akan membuat struktur untuk permintaan yang analog dengan hal berikut:

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 baru digunakan untuk grup iklan, karena kita tidak dapat menggunakan kembali -1 yang digunakan untuk kampanye, dan kita juga mereferensikan grup iklan ini saat membuat iklan grup iklan. Grup iklan itu sendiri mereferensikan nama resource yang kita buat untuk kampanye dalam operasi sebelumnya dalam permintaan, sedangkan resource_name di ad_group_ad_operation tidak diperlukan karena tidak ada operasi lebih lanjut yang mereferensikannya.