ทำตามคู่มือนี้เพื่อทำความเข้าใจขีดจำกัดและโควต้าเมื่อใช้ 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(HTTP429) และmetadata.quota_limitบ่งชี้ถึงขีดจำกัดต่อนาที (เช่นIngestionMutateRequestsPerMinutePerProject) ให้ลองใช้ Exponential Backoff ที่มี Jitter อีกครั้ง (เช่น รอ 1 วินาที, 2 วินาที และ 4 วินาทีระหว่างการลองใหม่)หยุดชั่วคราวเมื่อโควต้ารายวันหมด: หาก
metadata.quota_limitบ่งชี้ถึงขีดจำกัดการใช้งานต่อวัน (เช่นIngestionMutateRequestsPerDayPerProject) อย่าลองอีกครั้งทันที หยุดส่งคำขอชั่วคราวจนกว่าโควต้าประจำวันจะรีเซ็ตตอนเที่ยงคืนตามเวลาแปซิฟิก
ขีดจำกัดคำขอ
ขีดจำกัดสำหรับคำขอที่เฉพาะเจาะจงมีดังนี้
IngestAudienceMembersRequestและRemoveAudienceMembersRequest:ทรัพยากร
AudienceMember10,000 รายการในรายการaudience_membersตัวระบุผู้ใช้ 10 รายการใน
UserDataสำหรับAudienceMemberแหล่งข้อมูล
Destination10 รายการในรายการdestinations
RemoveAllAudienceMembersRequest:- แหล่งข้อมูล
Destination10 รายการในรายการdestinations
- แหล่งข้อมูล
-
แหล่งข้อมูล
Event2,000 รายการในรายการeventsตัวระบุผู้ใช้ 10 รายการใน
UserDataสำหรับEventแหล่งข้อมูล
Destination10 รายการในรายการdestinations