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

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 की ज़रूरत नहीं है, क्योंकि किसी और कार्रवाई में इसका इस्तेमाल नहीं किया जाता.