अस्थायी आईडी का इस्तेमाल करना

BatchJobService की एक खास सुविधा यह है कि इसमें कुछ समय के लिए बने आईडी का इस्तेमाल किया जा सकता है.

ऐसा करने के लिए, नए संसाधन के resource_name को बताकर, नेगेटिव आईडी का इस्तेमाल किया जा सकता है. उदाहरण के लिए, मान लें कि आपने कोई कैंपेन बनाया है और उसके संसाधन का नाम customers/<YOUR_CUSTOMER_ID>/campaigns/-1 बताया है. बाद में किसी ऑपरेशन में विज्ञापन ग्रुप बनाते समय, उस संसाधन के नाम से उसका रेफ़रंस दिया जा सकता है. साथ ही, आपके बताए गए -1 को, बनाए गए कैंपेन के असल आईडी से अपने-आप बदल दिया जाएगा.

कुछ समय के लिए इस्तेमाल होने वाले संसाधन के नामों का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • किसी रिसॉर्स में तय किए जाने के बाद ही, रिसॉर्स के लिए तय किए गए अस्थायी नाम का इस्तेमाल किया जा सकता है. नीचे दिए गए उदाहरण में, विज्ञापन ग्रुप ऑपरेशन को ऑपरेशन की सूची में कैंपेन ऑपरेशन के बाद दिखना चाहिए.
  • संसाधन के अस्थायी नामों को सभी जॉब या बदलाव के अनुरोधों में याद नहीं रखा जाता. किसी पिछली जॉब या बदलाव के अनुरोध में बनाए गए रिसॉर्स का रेफ़रंस देने के लिए, रिसॉर्स के सही नाम का इस्तेमाल करें.
  • किसी एक जॉब या बदलाव के अनुरोध के लिए, हर अस्थायी संसाधन के नाम में यूनीक नेगेटिव नंबर का इस्तेमाल करना ज़रूरी है. भले ही, वे अलग-अलग तरह के संसाधनों से हों. अगर किसी एक जॉब या डेटा में बदलाव करने के अनुरोध में, अस्थायी आईडी का फिर से इस्तेमाल किया जाता है, तो गड़बड़ी का मैसेज दिखता है.

उदाहरण

मान लें कि आपको एक ही एपीआई अनुरोध में कैंपेन, विज्ञापन ग्रुप, और विज्ञापन जोड़ना है. आपको अपने अनुरोध के लिए, यहां दिए गए स्ट्रक्चर जैसा स्ट्रक्चर बनाना होगा:

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"
        ...
      }
    }
  },
]

विज्ञापन ग्रुप के लिए, एक नया अस्थायी आईडी इस्तेमाल किया जाता है. ऐसा इसलिए, क्योंकि हम कैंपेन के लिए इस्तेमाल किए गए -1 का फिर से इस्तेमाल नहीं कर सकते. हम विज्ञापन ग्रुप का विज्ञापन बनाते समय भी इस विज्ञापन ग्रुप का रेफ़रंस देते हैं. विज्ञापन ग्रुप, अनुरोध में किए गए पिछले ऑपरेशन में, कैंपेन के लिए तय किए गए संसाधन के नाम का रेफ़रंस देता है. वहीं, ad_group_ad_operation में resource_name की ज़रूरत नहीं है, क्योंकि कोई भी अन्य ऑपरेशन इसका रेफ़रंस नहीं दे रहा है.