ขีดจำกัดการใช้งาน

เนื่องจาก Google สไลด์ API เป็นบริการที่ใช้ร่วมกัน เราจึงใช้โควต้าและขีดจำกัด เพื่อให้แน่ใจว่าผู้ใช้ทุกคนใช้งานแอปอย่างเป็นธรรม และเพื่อปกป้อง ประสิทธิภาพการทำงานของระบบ Google Workspace

หากคุณเกินโควต้า โดยทั่วไปแล้ว คุณจะได้รับ 429: Too many requests การตอบกลับรหัสสถานะ HTTP หากเกิดกรณีเช่นนี้ คุณควรใช้ อัลกอริทึม Exponential Backoff แล้วลองอีกครั้ง ในภายหลัง ตราบใดที่คุณอยู่ภายในโควต้าต่อนาทีด้านล่าง จะไม่ต้อง สำหรับคำขอที่คุณสามารถสร้างได้ต่อวัน

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดคำขอ

โควต้า
คำขอที่อ่าน
ต่อนาทีต่อโปรเจ็กต์ 3000
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 600
คำขออ่านที่มีราคาแพง

(ใช้สำหรับคำขอ presentations.pages.getThumbnail รายการ)

ต่อนาทีต่อโปรเจ็กต์ 300
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 60
คำขอที่เขียน
ต่อนาทีต่อโปรเจ็กต์ 600
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 60

แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา

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

Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย CANNOT TRANSLATE อัลกอริทึม Backoff แบบเอ็กซ์โปเนนเชียลจะพยายามส่งคำขอซ้ำโดยใช้เวลารอที่เพิ่มขึ้นแบบทวีคูณ ระหว่างคำขอ จนถึงระยะเวลา Backoff สูงสุด หากคำขอยังคงไม่สำเร็จ ความล่าช้าระหว่างคำขอจะเพิ่มขึ้นเมื่อเวลาผ่านไปจนกว่าคำขอจะประสบความสำเร็จ

ตัวอย่างอัลกอริทึม

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

  1. ส่งคำขอไปยัง Google สไลด์ API
  2. หากคำขอล้มเหลว โปรดรอ 1 + random_number_milliseconds แล้วลองอีกครั้ง คำขอ
  3. หากคำขอล้มเหลว โปรดรอ 2 ครั้ง + random_number_milliseconds แล้วลองอีกครั้ง คำขอ
  4. หากคำขอล้มเหลว โปรดรอ 4 ครั้ง + random_number_milliseconds แล้วลองอีกครั้ง คำขอ
  5. และอื่นๆ สูงสุด maximum_backoff ครั้ง
  6. รอต่อไปและลองใหม่จนครบตามจำนวนสูงสุด แต่อย่าเพิ่มการรอนาน ระหว่างการลองใหม่

โดยมี

  • เวลารออยู่ที่ min(((2^n)+random_number_milliseconds), maximum_backoff) โดยมี n เพิ่มขึ้น 1 ครั้งต่อการทำซ้ำแต่ละครั้ง (คำขอ)
  • random_number_milliseconds เป็นจำนวนแบบสุ่มของมิลลิวินาทีที่น้อยกว่าหรือ เท่ากับ 1,000 ซึ่งช่วยหลีกเลี่ยงกรณีที่ไคลเอ็นต์จำนวนมากซิงค์ข้อมูลด้วย สถานการณ์บางอย่างและลองใหม่ทั้งหมดพร้อมกัน โดยส่งคำขอที่ซิงค์ คลื่น ระบบจะคำนวณค่าของ random_number_milliseconds ใหม่หลังจากแต่ละรายการ ลองส่งคำขออีกครั้ง
  • โดยปกติแล้ว maximum_backoff จะมีความยาว 32 หรือ 64 วินาที ค่าที่เหมาะสม ขึ้นอยู่กับกรณีการใช้งาน

ไคลเอ็นต์จะลองอีกครั้งต่อไปหลังจากครบเวลา maximum_backoff แล้ว การลองใหม่หลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลาย้อนกลับต่อไป สำหรับ ตัวอย่างเช่น หากลูกค้าใช้เวลา maximum_backoff เป็นเวลา 64 วินาที หลังจากที่เข้าถึง ค่านี้ ไคลเอ็นต์จะลองอีกครั้งได้ทุก 64 วินาที เมื่อถึงเวลาหนึ่ง ควรป้องกันไม่ให้ลูกค้าลองใหม่อย่างไม่มีกำหนด

โดยระยะเวลารอระหว่างการลองใหม่และจำนวนครั้งที่ลองใหม่นั้นขึ้นอยู่กับกรณีการใช้งานของคุณ และเครือข่าย

ราคา

การใช้ Google สไลด์ API ทั้งหมดไม่มีค่าใช้จ่ายเพิ่มเติม เกินโควต้า ขีดจำกัดคำขอจะไม่ทำให้เกิดค่าใช้จ่ายเพิ่มเติมและบัญชีของคุณจะไม่ถูกเรียกเก็บเงิน

ขอเพิ่มโควต้า

คุณอาจต้องขอโควต้า ทั้งนี้ขึ้นอยู่กับการใช้ทรัพยากรของโปรเจ็กต์ เพิ่มขึ้น การเรียก API โดยบัญชีบริการจะถือว่ากำลังใช้ บัญชีเดียว การขอเพิ่มโควต้าอาจไม่ได้รับการอนุมัติเสมอไป ใหญ่ การเพิ่มโควต้าอาจใช้เวลาได้รับการอนุมัตินานขึ้น

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

ดูข้อมูลเพิ่มเติมได้ในแหล่งข้อมูลต่อไปนี้