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

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