ไฟล์ฟีดที่แบ่งออกเป็นหลายส่วน

คุณอาจต้องชาร์ดดิ้ง (หรือแบ่งฟีดออกเป็นหลายไฟล์) ทั้งนี้ขึ้นอยู่กับสินค้าคงคลัง

กรณีที่ควรใช้การแยกข้อมูล

  • ฟีดมีขนาดเกิน 200 MB สำหรับ 1 ไฟล์ (หลังจากการบีบอัด gzip)

    • ตัวอย่าง: ฟีดความพร้อมให้บริการที่สร้างขึ้นมีขนาด 1 GB ข้อมูลนี้ควรแบ่งออกเป็นไฟล์ (หรือกลุ่ม) แยกต่างหากอย่างน้อย 5 ไฟล์
  • พื้นที่โฆษณาของพาร์ทเนอร์กระจายอยู่ในระบบและ/หรือภูมิภาคต่างๆ ซึ่งทําให้การไกล่เกลี่ยพื้นที่โฆษณาเป็นเรื่องยาก

    • ตัวอย่าง: พาร์ทเนอร์มีพื้นที่โฆษณาในสหรัฐอเมริกาและสหภาพยุโรปที่อยู่ในระบบแยกกัน ระบบอาจสร้างฟีดด้วยไฟล์ (หรือกลุ่ม) 2 ไฟล์ โดย 1 ไฟล์สำหรับสหรัฐอเมริกา และ 1 ไฟล์สำหรับสหภาพยุโรปที่มี nonce และ generation_timestamp เดียวกัน

กฎทั่วไป

  • แต่ละกลุ่มต้องมีขนาดไม่เกิน 200 MB ต่อ 1 ไฟล์ (หลังจากการบีบอัด gzip)
  • เราขอแนะนำให้ใช้ไม่เกิน 20 ข้อมูลพร็อพเพอร์ตี้ต่อฟีด หากคุณมีเหตุผลทางธุรกิจที่ต้องใช้จำนวนเงินมากกว่าจำนวนดังกล่าว โปรดติดต่อทีมสนับสนุนเพื่อขอทราบวิธีการเพิ่มเติม
  • เรคคอร์ดแต่ละรายการ (เช่น ออบเจ็กต์ Merchant รายการเดียว) ต้องส่งในสhard เดียว ไม่สามารถแยกออกเป็นหลายสhard อย่างไรก็ตาม ไม่จำเป็นต้องส่งในข้อมูลพร็อพเพอร์ตี้ที่มี shard_number เดียวกันสำหรับฟีดในอนาคต
  • คุณควรแบ่งข้อมูลให้เท่าๆ กันระหว่างกลุ่มข้อมูลเพื่อให้ไฟล์ที่แบ่งกลุ่มทั้งหมดมีขนาดใกล้เคียงกันเพื่อประสิทธิภาพที่ดีขึ้น

วิธีแบ่งกลุ่มฟีด

คุณสามารถแบ่งกลุ่มฟีดเหตุการณ์ได้โดยแยก JSON รายการเดียวออกเป็นไฟล์ JSON แยกต่างหากที่มีเหตุการณ์ที่ไม่ทับซ้อนกัน และอัปเดตไฟล์ JSON ของตัวระบุไฟล์ด้วยรายชื่อชื่อไฟล์ JSON

แนะนำ: สำหรับไฟล์แต่ละไฟล์ (หรือกลุ่ม) ให้ตั้งชื่อไฟล์เพื่อระบุประเภทฟีด การประทับเวลา และหมายเลขกลุ่ม ข้อมูลควรมีขนาดใกล้เคียงกัน และระบบจะประมวลผลเมื่ออัปโหลดข้อมูลทั้งหมดแล้ว

ตัวอย่างที่มีการแบ่งกลุ่ม

ตัวระบุไฟล์ - event.feeddata.v1_1728306001.filedescriptor.json

{
  "generation_timestamp": 1728306001,
  "name": "event.feeddata.v1",
  "data_file": [
    "event.feeddata.v1_1728306001_001.json",
    "event.feeddata.v1_1728306001_002.json"
  ]
}

ชาร์ด 0 - event.feeddata.v1_1728306001_001.json

{
  "data": [
    {
      "id": "event-1",
      ...
    },
    {
      "id": "event-2",
      ...
    }
  ]
}

ชาร์ด 1 - event.feeddata.v1_1728306001_002.json

{
  "data": [
    {
      "id": "event-3",
      ...
    },
    {
      "id": "event-4",
      ...
    }
  ]
}

กลุ่มสําหรับพื้นที่โฆษณาที่พาร์ทเนอร์จัดจำหน่าย

พาร์ทเนอร์อาจพบปัญหาในการรวมพื้นที่โฆษณาที่กระจายอยู่ในระบบและ/หรือภูมิภาคต่างๆ ไว้ในฟีดเดียว คุณสามารถใช้การแยกกลุ่มเพื่อแก้ปัญหาการไกล่เกลี่ยโดยการตั้งค่าแต่ละกลุ่มให้ตรงกับชุดพื้นที่โฆษณาของระบบแบบกระจายแต่ละระบบ

ตัวอย่างเช่น สมมติว่าสินค้าคงคลังของผู้ขายแบ่งออกเป็น 2 ภูมิภาค (สินค้าคงคลังในสหรัฐอเมริกาและสหภาพยุโรป) ซึ่งอยู่ใน 2 ระบบแยกกัน

พาร์ทเนอร์สามารถแบ่งฟีดแต่ละรายการออกเป็น 2 ไฟล์ (หรือชาร์ด) ดังนี้

ทําตามขั้นตอนต่อไปนี้เพื่อให้ระบบประมวลผลฟีดอย่างถูกต้อง

  1. กำหนดเวลาการอัปโหลดและกำหนดค่าอินสแตนซ์ของพื้นที่โฆษณาแต่ละรายการให้เป็นไปตามกำหนดการ
  2. กําหนดหมายเลขกลุ่มที่ไม่ซ้ำกันสําหรับแต่ละอินสแตนซ์ (เช่น สหรัฐอเมริกา = N, สหภาพยุโรป = N + 1) ตั้งค่า total_shards เป็นจํานวนกลุ่มทั้งหมด
  3. เลือก generation_timestamp ในเวลาที่อัปโหลดตามกำหนดการแต่ละครั้ง ในชุด ให้ตั้งค่าชื่อไฟล์ทั้งหมดให้มีค่าเหมือนกันสำหรับ 2 ช่องนี้ และแสดงชื่อไฟล์ที่คาดไว้ทั้งหมดในไฟล์ข้อบ่งชี้
    • generation_timestamp ควรเป็นปัจจุบันหรือที่ผ่านมาไม่นาน (ควรเป็นการประทับเวลาของฐานข้อมูลที่อ่านของพาร์ทเนอร์)
  4. หลังจากอัปโหลดกลุ่มทั้งหมดแล้ว Google จะจัดกลุ่มกลุ่มโดยใช้ generation_timestamp และ nonce

Google จะประมวลผลฟีดเป็นฟีดเดียว แม้ว่าแต่ละกลุ่มจะแสดงพื้นที่โฆษณาของพาร์ทเนอร์ในภูมิภาคที่แตกต่างกันและอาจอัปโหลดในเวลาที่ต่างกันของวัน ตราบใดที่ generation_timestamp เหมือนกันในทุกกลุ่ม