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

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 की ज़रूरत नहीं है, क्योंकि कोई और ऑपरेशन इसका रेफ़रंस नहीं दे रहा है.