שימוש במזהים זמניים

אחד היתרונות המרכזיים של BatchJobService הוא שהוא תומך בשימוש במזהים זמניים.

כדי לעשות זאת, אפשר לציין את ה-resource_name של המשאב החדש כך שישתמש במזהה שלילי. לדוגמה, אם יצרתם קמפיין ושם המשאב שלו הוא customers/<YOUR_CUSTOMER_ID>/campaigns/-1, כשתיצרו את קבוצת המודעות בפעולה מאוחרת יותר תוכלו להפנות אליה לפי שם המשאב. השדה -1 שציינת יוחלף במזהה בפועל של הקמפיין שנוצר באופן אוטומטי.

כמה דברים שחשוב לזכור כשמשתמשים בשמות משאבים זמניים:

  • אפשר להשתמש בשם של משאב זמני רק אחרי שהוגדר במשאב. בדוגמה הבאה, הפעולה של קבוצת המודעות צריכה להופיע ברשימת הפעולות אחרי פעולת הקמפיין.
  • שמות של משאבים זמניים לא נשמרים במשימות או בבקשות לשינויי משאבים. כדי להפנות למשאב שנוצר במשימה קודמת או בבקשת שינוי, השתמשו בשם המשאב בפועל.
  • במשימה אחת או בבקשת שינוי, לכל שם של משאב זמני חייב להיות מספר שלילי ייחודי, גם אם הוא מסוגים שונים של משאבים. אם נעשה שימוש חוזר במזהה זמני במשימה אחת או בבקשת שינוי, תוחזר שגיאה.

דוגמה

כדי לתת דוגמה מדויקת יותר למצב שהוזכר למעלה, נניח שאתם רוצים להוסיף קמפיין, קבוצת מודעות ומודעה בבקשת API אחת. עליכם ליצור מבנה לבקשה שלכם שדומה לזה:

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 לא נחוץ כי לא מתבצעת בו פעולה נוספת.