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

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

การแจ้งเตือนที่ส่งไปยังที่อยู่ที่ระบุไว้เมื่อ การเปิดช่องทางการแจ้งเตือนจะไม่นับรวมในขีดจำกัดโควต้าของคุณ อย่างไรก็ตาม โทรหา changes.watch channels.stop และ ระบบจะนับเมธอด files.watch รายการ โควต้าของคุณ

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

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

โควต้า
คำค้นหา
ต่อ 60 วินาที 12,000 คน
ต่อ 60 วินาทีต่อผู้ใช้ 12,000 คน

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

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

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

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

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

  1. ส่งคำขอไปยัง Google Drive 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 Drive API ทั้งหมดมีให้บริการโดยไม่มีค่าใช้จ่ายเพิ่มเติม เกินโควต้า ขีดจำกัดคำขอจะไม่ทำให้เกิดค่าใช้จ่ายเพิ่มเติมและบัญชีของคุณจะไม่ถูกเรียกเก็บเงิน

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

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

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

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