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 membuat kampanye dan menentukan nama resource-nya sebagai customers/<YOUR_CUSTOMER_ID>/campaigns/-1, saat membuat grup iklan di operasi berikutnya, Anda dapat mereferensikannya dengan nama resource tersebut dan -1 yang Anda tentukan akan otomatis diganti dengan ID aktual kampanye yang dibuat.

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 permintaan mutasi; untuk mereferensikan resource yang dibuat dalam tugas sebelumnya atau permintaan mutasi, 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 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 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 kami tidak dapat menggunakan kembali -1 yang telah digunakan untuk kampanye, dan kami juga mereferensikan grup iklan ini saat membuat iklan grup iklan. Grup iklan itu sendiri merujuk pada 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.