ขีดจำกัดและโควต้า

ทำตามคู่มือนี้เพื่อทำความเข้าใจขีดจำกัดและโควต้าเมื่อใช้ Data Manager API

ขีดจำกัดของโปรเจ็กต์

คุณต้องมีโปรเจ็กต์ Google Cloud เพื่อใช้ Data Manager API โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google มีไคลเอ็นต์ OAuth และข้อมูลเข้าสู่ระบบที่คุณใช้เพื่อตรวจสอบสิทธิ์คำขอ API

Data Manager API บังคับใช้การจำกัดอัตราคำขอในแต่ละโปรเจ็กต์ Google Cloud โดยแยกตามประเภทบริการและการดำเนินการ (อ่านเทียบกับการเปลี่ยนแปลง) ดังนี้

บริการ การดำเนินการ คำขอต่อวัน คำขอต่อนาที
IngestionService เปลี่ยนแปลง (เขียน) 100,000 300
IngestionService อ่าน 100,000 300
บริการอื่นๆ ทั้งหมดรวมกัน เปลี่ยนแปลง (เขียน) 50,000 300
บริการอื่นๆ ทั้งหมดรวมกัน อ่าน 50,000 300

คำขอที่เกินขีดจำกัดจะถูกปฏิเสธพร้อมข้อผิดพลาด RESOURCE_EXHAUSTED และสถานะ HTTP 429 Too Many Requests

คุณสามารถควบคุมแอปและลดการจำกัดอัตราคำขอได้โดยลดจำนวนคำขอและจำกัด QPS จากฝั่งไคลเอ็นต์ นอกจากนี้ คุณยังสามารถตั้งค่าการแจ้งเตือนและการตรวจสอบโควต้าในคอนโซล Google Cloud เพื่อรับการแจ้งเตือนก่อนที่แอปพลิเคชันจะถึงขีดจำกัด

ชื่อโควต้า

ขีดจำกัดแต่ละรายการจะสอดคล้องกับชื่อขีดจำกัดโควต้าและเมตริกใน Google Cloud เมื่อคำขอเกินขีดจำกัด Data Manager API จะแสดงชื่อขีดจำกัดโควต้าในเพย์โหลดรายละเอียดมาตรฐาน ErrorInfo ในส่วน metadata.quota_limit ดังนี้

ชื่อขีดจำกัดโควต้า บริการ การดำเนินการ หน้าต่าง ขีดจำกัด
IngestionMutateRequestsPerDayPerProject IngestionService เปลี่ยนแปลง วัน 100,000
IngestionMutateRequestsPerMinutePerProject IngestionService เปลี่ยนแปลง นาที 300
IngestionReadRequestsPerDayPerProject IngestionService อ่าน วัน 100,000
IngestionReadRequestsPerMinutePerProject IngestionService อ่าน นาที 300
ManagementMutateRequestsPerDayPerProject บริการอื่นๆ ทั้งหมด เปลี่ยนแปลง วัน 50,000
ManagementMutateRequestsPerMinutePerProject บริการอื่นๆ ทั้งหมด เปลี่ยนแปลง นาที 300
ManagementReadRequestsPerDayPerProject บริการอื่นๆ ทั้งหมด อ่าน วัน 50,000
ManagementReadRequestsPerMinutePerProject บริการอื่นๆ ทั้งหมด อ่าน นาที 300

ตรวจสอบ metadata.quota_limit ในเพย์โหลด ErrorInfo เพื่อแยกความแตกต่างระหว่างข้อผิดพลาดเกี่ยวกับขีดจำกัดรายวันและรายนาที และพิจารณาว่าจะหยุดชั่วคราวและลองอีกครั้งด้วย Backoff หรือหยุดชั่วคราวจนกว่าโควต้ารายวันจะรีเซ็ต โปรดดูรายละเอียดที่หัวข้อข้อผิดพลาดเกี่ยวกับโควต้าและการจำกัดอัตราคำขอ

จัดการการจำกัดอัตราคำขอและการทำงานพร้อมกัน

หากต้องการเพิ่มอัตราการส่งข้อมูลสูงสุดโดยไม่เกินโควต้าของโปรเจ็กต์ ให้ทำตามหลักเกณฑ์ต่อไปนี้

  • จัดกลุ่มระเบียนต่อคำขอ: ใส่ระเบียนให้มากที่สุดเท่าที่จะเป็นไปได้ในแต่ละคำขอจนถึงขีดจำกัดคำขอ (ทรัพยากร AudienceMember สูงสุด 10,000 รายการหรือทรัพยากร Event สูงสุด 2,000 รายการต่อคำขอ)

  • ส่งคำขอหลายรายการพร้อมกันได้สูงสุด 10 รายการ: หากต้องการลดเวลาในการนำเข้าทั้งหมดโดยไม่เกินขีดจำกัด 300 คำขอต่อนาที ให้ส่งคำขอหลายรายการพร้อมกันได้สูงสุด 10 รายการไปยัง IngestionService

  • ลองใช้การจำกัดอัตราคำขอต่อนาทีอีกครั้งด้วย Backoff: หากคำขอล้มเหลวด้วย RESOURCE_EXHAUSTED (HTTP 429) และ metadata.quota_limit บ่งชี้ถึงขีดจำกัดต่อนาที (เช่น IngestionMutateRequestsPerMinutePerProject) ให้ลองใช้ Exponential Backoff ที่มี Jitter อีกครั้ง (เช่น รอ 1 วินาที, 2 วินาที และ 4 วินาทีระหว่างการลองใหม่)

  • หยุดชั่วคราวเมื่อโควต้ารายวันหมด: หาก metadata.quota_limit บ่งชี้ถึงขีดจำกัดการใช้งานต่อวัน (เช่น IngestionMutateRequestsPerDayPerProject) อย่าลองอีกครั้งทันที หยุดส่งคำขอชั่วคราวจนกว่าโควต้าประจำวันจะรีเซ็ตตอนเที่ยงคืนตามเวลาแปซิฟิก

ขีดจำกัดคำขอ

ขีดจำกัดสำหรับคำขอที่เฉพาะเจาะจงมีดังนี้

  • IngestAudienceMembersRequest และ RemoveAudienceMembersRequest:

    • ทรัพยากร AudienceMember 10,000 รายการในรายการ audience_members

    • ตัวระบุผู้ใช้ 10 รายการใน UserData สำหรับ AudienceMember

    • แหล่งข้อมูล Destination 10 รายการในรายการ destinations

  • RemoveAllAudienceMembersRequest:

    • แหล่งข้อมูล Destination 10 รายการในรายการ destinations
  • IngestEventsRequest:

    • แหล่งข้อมูล Event 2,000 รายการในรายการ events

    • ตัวระบุผู้ใช้ 10 รายการใน UserData สำหรับ Event

    • แหล่งข้อมูล Destination 10 รายการในรายการ destinations