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, maka saat membuat grup iklan dalam operasi berikutnya, Anda dapat mereferensikannya dengan nama resource tersebut 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 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 mengubah permintaan; untuk mereferensikan resource yang dibuat dalam tugas sebelumnya atau mengubah permintaan, gunakan nama resource yang sebenarnya.
  • Untuk satu tugas atau permintaan mutasi, setiap nama resource sementara harus menggunakan angka negatif yang unik, meskipun berasal dari jenis resource yang berbeda. Jika ID sementara digunakan kembali dalam satu tugas atau mengubah permintaan, error akan ditampilkan.

Contoh

Untuk memberikan contoh yang lebih konkret untuk situasi yang disebutkan di atas, misalnya Anda ingin menambahkan kampanye, grup iklan, dan iklan dalam satu permintaan API. Anda akan membuat struktur untuk permintaan yang serupa dengan yang 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 yang baru digunakan untuk grup iklan karena kita tidak dapat menggunakan kembali -1 yang telah kita gunakan untuk kampanye, dan kita juga mereferensikan grup iklan ini saat membuat iklan grup iklan. Grup iklan itu sendiri merujuk ke nama resource yang kami buat untuk kampanye dalam operasi sebelumnya dalam permintaan, sementara resource_name di ad_group_ad_operation tidak diperlukan karena tidak ada operasi lebih lanjut yang mereferensikannya.