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

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