เนื่องจาก Google ไดรฟ์ API เป็นบริการที่ใช้ร่วมกัน เราจึงใช้โควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างเป็นธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของระบบ Google Workspace
โดยจะกำหนดขีดจำกัดในรูปของหน่วยโควต้า ซึ่งเป็นหน่วยวัดเชิงนามธรรม ที่แสดงถึงการใช้ทรัพยากรของ Google ไดรฟ์
โควต้า Drive API
ระบบจะบังคับใช้โควต้า 3 ประเภท ดังนี้
ต่อนาทีต่อโปรเจ็กต์: นี่คือจำนวนหน่วยโควต้าที่โปรเจ็กต์ Google Cloud ใช้ได้ใน 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.watchchannels.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ครั้ง - รอและลองอีกครั้งต่อไปจนกว่าจะถึงจำนวนครั้งสูงสุดที่ลองใหม่ได้ แต่ไม่ต้องเพิ่มระยะเวลารอ ระหว่างการลองใหม่
where:
- เวลารออยู่ที่
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 ไดรฟ์ API แบบมาตรฐานทั้งหมดจะใช้งานได้โดยไม่มีค่าใช้จ่ายเพิ่มเติม การใช้โควต้าเกิน ขีดจํากัดของคําขอจะทําให้มีการเรียกเก็บเงินจากบัญชีสําหรับการเรียกเก็บเงินใน Google Cloud ในช่วงปลายปี 2026 ดูข้อมูลเพิ่มเติมได้ที่โมเดลมาตรฐานของ Google Workspace สำหรับเครื่องมือและ API ของตัวแทน
ขอเพิ่มโควต้า
คุณอาจต้องขอปรับโควต้า ทั้งนี้ขึ้นอยู่กับการใช้ทรัพยากรของโปรเจ็กต์ ระบบจะถือว่าการเรียก API โดยบัญชีบริการเป็นการใช้บัญชีเดียว การขอโควต้าที่ปรับแล้วอาจไม่ได้รับการอนุมัติเสมอไป คำขอปรับโควต้า ซึ่งจะเพิ่มค่าโควต้าอย่างมีนัยสำคัญอาจใช้เวลานานกว่าในการอนุมัติ
โปรเจ็กต์แต่ละโปรเจ็กต์อาจมีโควต้าไม่เท่ากัน เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ ค่าโควต้าอาจต้องเพิ่มขึ้น หากคาดว่าการใช้งานจะเพิ่มขึ้นอย่างเห็นได้ชัดในอนาคต คุณสามารถขอปรับโควต้าล่วงหน้าได้จากหน้าโควต้าและขีดจำกัดของระบบในคอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้