การใช้รหัสชั่วคราว

ฟีเจอร์ที่มีประสิทธิภาพของ 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 เนื่องจากไม่มีการเชื่อมโยง การอ้างอิง