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
का फिर से इस्तेमाल नहीं कर सकते जिसका इस्तेमाल हमने कैंपेन के लिए किया था. विज्ञापन ग्रुप वाला विज्ञापन बनाते समय, हम इस विज्ञापन ग्रुप का रेफ़रंस भी देते हैं. विज्ञापन ग्रुप, अनुरोध में पहले किए गए ऑपरेशन में कैंपेन के लिए तय किए गए संसाधन के नाम का रेफ़रंस देता है. वहीं, resource_name
में ad_group_ad_operation
की ज़रूरत नहीं है, क्योंकि कोई अन्य ऑपरेशन इसका रेफ़रंस नहीं दे रहा है.