เนื่องจาก Google Drive API เป็นบริการที่แชร์ เราจึงกำหนดโควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างเป็นธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของระบบ Google Workspace
ขีดจำกัดจะกำหนดเป็นหน่วยโควต้า ซึ่งเป็นหน่วยวัดเชิงนามธรรม ที่แสดงถึงการใช้ทรัพยากรของ Google ไดรฟ์
โควต้า Drive API
เราบังคับใช้โควต้า 3 ประเภท ดังนี้
ต่อนาทีต่อโปรเจ็กต์: จำนวนหน่วยโควต้าที่โปรเจ็กต์ที่อยู่ในระบบคลาวด์ Google ใช้ได้ใน 1 นาที
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์: จำนวนหน่วยโควต้าที่ผู้ใช้รายใดรายหนึ่งใช้ได้ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ ขีดจำกัดนี้มีจุดมุ่งหมายเพื่อช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะได้รับการจัดสรรการใช้งานอย่างเป็นธรรม
ต่อวันต่อโปรเจ็กต์: กำหนดจำนวนไบต์สูงสุดที่โปรเจ็กต์ Google Cloud ส่งออกได้ภายในระยะเวลา 24 ชั่วโมงก่อนที่จะมีการเรียกเก็บเงิน
ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดเหล่านี้
| ประเภทขีดจำกัดการใช้งาน | ขีดจำกัด |
|---|---|
| ต่อนาทีต่อโปรเจ็กต์ | 1,000,000 หน่วยโควต้า |
| ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ | 325,000 หน่วยโควต้า |
| ต่อวันต่อโปรเจ็กต์ | 1 TB |
หากใช้โควต้าเกิน คุณจะได้รับการตอบกลับเป็นรหัสสถานะ HTTP 403: User rate limit
exceeded
นอกจากนี้ การตรวจสอบขีดจำกัดอัตราเพิ่มเติมในแบ็กเอนด์ของไดรฟ์
อาจสร้างการตอบกลับ 429: Rate limit
exceeded
ด้วย หากเกิดกรณีนี้ คุณควรใช้อัลกอริทึม Exponential Backoff
แล้วลองอีกครั้งในภายหลัง
เกณฑ์การเรียกเก็บเงินรายวัน
ขีดจำกัดต่อวันต่อโปรเจ็กต์ นี้กำหนดจำนวนหน่วยโควต้าสูงสุดที่โปรเจ็กต์ Google Cloud ใช้ได้ภายในระยะเวลา 24 ชั่วโมงก่อนที่จะมีการเรียกเก็บเงิน
การใช้งานที่ต่ำกว่าเกณฑ์นี้จะไม่มีค่าใช้จ่ายเพิ่มเติมและระบบจะไม่เรียกเก็บเงินจากบัญชี Google Cloud เราจะแชร์รายละเอียดการเรียกเก็บเงินทั้งหมดในภายหลังของปี 2026 โดยจะแจ้งให้ทราบล่วงหน้าอย่างน้อย 90 วันก่อนที่การเปลี่ยนแปลงจะมีผลบังคับใช้
คุณจะขอเพิ่มขีดจำกัดเกณฑ์รายวันไม่ได้
ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัด
| ประเภทขีดจำกัดเกณฑ์ | ขีดจำกัด |
|---|---|
| ต่อวันต่อโปรเจ็กต์ | 400,000,000 หน่วยโควต้า |
ดูข้อมูลเพิ่มเติมได้ที่ โมเดลมาตรฐานของ Google Workspace สำหรับเครื่องมือของตัวแทน และ API
การใช้โควต้าต่อเมธอด
จำนวนหน่วยโควต้าที่ใช้ต่อคำขอจะแตกต่างกันไปตามเมธอดที่เรียก ตารางต่อไปนี้แสดงการใช้หน่วยโควต้าต่อเมธอด
| การดำเนินการ | หน่วยโควต้า |
|---|---|
อ่านรายการ เช่น files.get |
5 |
แสดงรายการ เช่น files.list |
100 |
ดาวน์โหลดรายการ เช่น files.download |
200 |
แก้ไขรายการ เช่น files.update |
50 |
การดำเนินการอื่นๆ เช่น files.generateIds |
5 |
ข้อบังคับเพิ่มเติม
เราบังคับใช้ข้อบังคับต่อไปนี้เมื่อทำงานกับ Drive API
ผู้ใช้ Google Workspace จะอัปโหลดข้อมูลระหว่างไดรฟ์ของฉันกับไดรฟ์ที่แชร์ทั้งหมดได้ 750 GB ต่อวันเท่านั้น และขีดจำกัดนี้ยังใช้กับสำเนาด้วย
ผู้ใช้ที่ใช้พื้นที่ถึงขีดจำกัด 750 GB หรืออัปโหลดไฟล์ที่มีขนาดใหญ่กว่า 750 GB จะอัปโหลดหรือคัดลอกไฟล์อื่นไม่ได้จนกว่าจะผ่านไป 24 ชั่วโมง
ขนาดไฟล์สูงสุดที่ผู้ใช้อัปโหลดได้คือ 5 TB โดยจะมีเฉพาะไฟล์แรกที่เกินขีดจำกัดเท่านั้นที่จะอัปโหลดจนเสร็จสิ้น ขนาดไฟล์สูงสุดที่ผู้ใช้คัดลอกได้คือ 750 GB
การแจ้งเตือนที่ส่งไปยังที่อยู่ซึ่งระบุเมื่อเปิดช่องทางการแจ้งเตือนจะไม่นับรวมในขีดจำกัดโควต้า อย่างไรก็ตาม การเรียกเมธอด
changes.watch,channels.stopและfiles.watchจะ นับรวมในโควต้าหากคุณใช้งานอยู่ในโควต้าต่อนาที จะไม่มีการจำกัดจำนวนคำขอที่คุณส่งได้ต่อวัน
คุณอาจมีขีดจำกัดเพิ่มเติมสำหรับพื้นที่เก็บข้อมูล Google ไดรฟ์สูงสุดที่ใช้ได้ ทั้งนี้ขึ้นอยู่กับประเภทบัญชี Google Workspace ที่ใช้งาน ที่ใช้ได้
แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา
สำหรับข้อผิดพลาดทั้งหมดที่อิงตามเวลา (คำขอสูงสุด N รายการต่อ X นาที) เราขอแนะนำ ให้โค้ดของคุณดักจับข้อยกเว้นและใช้ Exponential Backoff แบบย่อ เพื่อให้แน่ใจว่าอุปกรณ์จะไม่สร้างโหลดมากเกินไป
Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งโดยใช้เวลารอระหว่างคำขอที่เพิ่มขึ้นแบบยกกำลัง จนถึงเวลา Backoff สูงสุด หากคำขอไม่สำเร็จ คุณควรเพิ่มความล่าช้าระหว่างคำขอเมื่อเวลาผ่านไปจนกว่าคำขอจะสำเร็จ
อัลกอริทึมตัวอย่าง
อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งแบบยกกำลัง โดยเพิ่มเวลารอ ระหว่างการลองอีกครั้งจนถึงเวลา Backoff สูงสุด เช่น
- ส่งคำขอไปยัง Google Drive 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 วินาทีได้ ไคลเอ็นต์ควรได้รับการป้องกันไม่ให้ลองอีกครั้งอย่างไม่มีกำหนด
เวลารอระหว่างการลองอีกครั้งและจำนวนการลองอีกครั้งจะขึ้นอยู่กับกรณีการใช้งาน และสภาพเครือข่าย
ราคา
การใช้ Google Drive API ตามมาตรฐานทั้งหมดจะไม่มีค่าใช้จ่ายเพิ่มเติม การใช้คำขอเกินขีดจำกัดโควต้า จะมีการเรียกเก็บเงินจากบัญชีสำหรับการเรียกเก็บเงินของ Google Cloud ในภายหลังของปี 2026 ดูข้อมูลเพิ่มเติมได้ที่ โมเดลมาตรฐานของ Google Workspace สำหรับเครื่องมือและ API ของตัวแทน
ขอเพิ่มโควต้า
คุณอาจต้องการขอปรับโควต้าตามการใช้ทรัพยากรของโปรเจ็กต์ การเรียก API โดยบัญชีบริการจะถือว่าเป็นการใช้บัญชีเดียว การขอโควต้าที่ปรับแล้วอาจไม่ได้รับการอนุมัติเสมอไป คำขอปรับโควต้าที่จะเพิ่มค่าโควต้าอย่างมากอาจใช้เวลาในการอนุมัตินานขึ้น
โปรเจ็กต์แต่ละโปรเจ็กต์อาจมีโควต้าไม่เท่ากัน เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ เมื่อเวลาผ่านไป ค่าโควต้าอาจต้องเพิ่มขึ้น หากคาดว่าจะมีการใช้งานเพิ่มขึ้นอย่างเห็นได้ชัดในอนาคตอันใกล้ คุณสามารถ ขอปรับโควต้าล่วงหน้า ได้จากหน้า โควต้าและขีดจำกัดของระบบ ในคอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่อไปนี้