เนื่องจาก Drive Label API เป็นบริการที่ใช้ร่วมกัน เราจึงใช้โควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานอย่างเป็นธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของระบบนิเวศ Google Workspace
หากใช้เกินโควต้า โดยทั่วไปคุณจะได้รับการตอบกลับรหัสสถานะ HTTP 429: Too many
requests
หากเกิดกรณีนี้ คุณควรใช้อัลกอริทึม Exponential Backoff แล้วลองอีกครั้งในภายหลัง
เราไม่จำกัดจำนวนครั้งในการส่งคำขอต่อวันตราบใดที่คุณใช้งานโควต้าต่อนาทีด้านล่าง
ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดของคำขอ
โควต้า | |||
---|---|---|---|
คำขอที่อ่าน |
|
||
คำขอที่เขียน |
|
แก้ไขข้อผิดพลาดด้านโควต้าตามเวลา
สำหรับข้อผิดพลาดที่อิงตามเวลาทั้งหมด (ไม่เกิน N คำขอต่อ X นาที) เราขอแนะนำให้โค้ดจับข้อยกเว้นได้และใช้ Exponential Backoff ที่ถูกตัดออกเพื่อให้มั่นใจว่าอุปกรณ์จะไม่สร้างภาระงานมากเกินไป
Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Backoff แบบเอ็กซ์โพเนนเชียลจะพยายามส่งคำขอซ้ำโดยใช้เวลารอระหว่างคำขอที่เพิ่มขึ้นแบบทวีคูณ จนถึงเวลาย้อนกลับสูงสุด หากคำขอยังคงไม่สำเร็จ ความล่าช้าระหว่างคำขอจะเพิ่มขึ้นเมื่อเวลาผ่านไป จนกว่าคำขอจะสำเร็จ
ตัวอย่างอัลกอริทึม
อัลกอริทึม Backoff แบบเอ็กซ์โพเนนเชียลจะพยายามส่งคำขอซ้ำเป็นทวีคูณ ทำให้ใช้เวลารอระหว่างการดำเนินการซ้ำจนถึงเวลา Backoff สูงสุด เช่น
- ส่งคำขอไปยัง Drive Label API
- หากคำขอล้มเหลว โปรดรอ 1 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - หากคำขอล้มเหลว โปรดรอ 2 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - หากคำขอล้มเหลว โปรดรอ 4 +
random_number_milliseconds
แล้วลองส่งคำขออีกครั้ง - และอื่นๆ ไม่เกิน
maximum_backoff
ครั้ง - รอต่อไปและพยายามลองใหม่ให้ครบจำนวนครั้งสูงสุดที่กำหนด แต่อย่าเพิ่มระยะเวลารอระหว่างที่รอ
ที่ไหน
- เวลารอคือ
min(((2^n)+random_number_milliseconds), maximum_backoff)
โดยn
เพิ่มขึ้น 1 สำหรับการทำซ้ำแต่ละครั้ง (คำขอ) random_number_milliseconds
เป็นจำนวนมิลลิวินาทีแบบสุ่มซึ่งน้อยกว่าหรือเท่ากับ 1,000 วิธีนี้จะช่วยป้องกันไม่ให้เกิดกรณีที่ไคลเอ็นต์จำนวนมากซิงค์ข้อมูลกันตามสถานการณ์บางอย่างและจะพยายามอีกครั้งพร้อมกันโดยส่งคำขอแบบระลอกคลื่นที่ซิงค์กัน ระบบจะคำนวณค่าของrandom_number_milliseconds
ใหม่หลังจากคำขอลองอีกครั้งแต่ละครั้งmaximum_backoff
โดยทั่วไปจะมีระยะเวลา 32 หรือ 64 วินาที ค่าที่เหมาะสมจะขึ้นอยู่กับกรณีการใช้งาน
ไคลเอ็นต์จะลองอีกครั้งได้หลังจากครบ maximum_backoff
ครั้งแล้ว
ลองอีกครั้งหลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลา Backoff อีก ตัวอย่างเช่น หากไคลเอ็นต์ใช้เวลา maximum_backoff
ที่ 64 วินาที หลังจากถึงค่านี้ ลูกค้าจะลองซ้ำได้ทุกๆ 64 วินาที ในบางสถานการณ์ ควรป้องกันไม่ให้ไคลเอ็นต์ลองอีกครั้งอย่างไม่มีกำหนด
เวลารอระหว่างการลองใหม่และจำนวนการทดลองซ้ำจะขึ้นอยู่กับกรณีการใช้งานและเงื่อนไขของเครือข่าย
การกำหนดราคา
การใช้ Drive Label API ทั้งหมดพร้อมให้ใช้งานโดยไม่มีค่าใช้จ่ายเพิ่มเติม การใช้งานเกินขีดจำกัดคำขอโควต้าจะไม่ก่อให้เกิดค่าใช้จ่ายเพิ่มเติม และจะไม่มีการเรียกเก็บเงินจากบัญชีของคุณ
ขอเพิ่มโควต้า
คุณอาจต้องการขอเพิ่มโควต้า ทั้งนี้ขึ้นอยู่กับการใช้ทรัพยากรของโปรเจ็กต์ การเรียก API โดยบัญชีบริการจะถือว่าใช้บัญชีเดียว การขอเพิ่มโควต้าอาจไม่ได้รับการอนุมัติเสมอไป หากขอเพิ่มโควต้าจำนวนมาก การอนุมัติอาจใช้เวลานานขึ้น
บางโปรเจ็กต์ไม่มีโควต้าเหมือนกัน เมื่อใช้ Google Cloud ไปเรื่อยๆ โควต้าของคุณอาจต้องเพิ่มขึ้น หากคุณคาดว่าจะมีการใช้งานเพิ่มขึ้นอย่างเห็นได้ชัด คุณสามารถขอปรับโควต้าได้ทันทีจากหน้าโควต้าในคอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลต่อไปนี้