เนื่องจาก Google ห้องนิรภัย API เป็นบริการที่แชร์ เราจึงใช้โควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างยุติธรรมและเพื่อปกป้องความสมบูรณ์โดยรวมของระบบ Google Workspace
ขีดจำกัดผลิตภัณฑ์
ทั้งองค์กรจะส่งออกพร้อมกันได้ไม่เกิน 20 รายการ
โควต้าคำขอ API
แต่ละองค์กรได้รับอนุญาตให้มีการอ่านข้อมูลใน Matter 600 ครั้งต่อนาทีในทุกโปรเจ็กต์และของผู้ใช้ทุกคน รวมถึงคำขอผ่าน Vault API และ vault.google.com
ตารางต่อไปนี้แสดงขีดจำกัดคำขอต่อนาทีต่อโปรเจ็กต์
| คำขออ่านต่อนาทีต่อโปรเจ็กต์ | |
|---|---|
| การส่งออก, Matter และการค้นหาที่บันทึกไว้ | 120 |
| การเก็บรักษาข้อมูลระหว่างดำเนินคดี | 228 |
| การดำเนินการที่ใช้เวลานาน | 300 |
| คำขอเขียนต่อนาทีต่อโปรเจ็กต์ | |
|---|---|
| ส่งออก | 20 |
| การเก็บรักษาข้อมูลระหว่างดำเนินคดี | 60 |
| สิทธิ์ของ Matter | 30 |
| Matter | 60 |
| การค้นหาที่บันทึกไว้ | 45 |
| คำขอค้นหา (จำนวน) ต่อนาทีต่อโปรเจ็กต์ | |
|---|---|
| จำนวนการค้นหา | 20 |
การใช้โควต้าตามวิธีการ
โควต้าที่คำขอใช้จะขึ้นอยู่กับวิธีการที่เรียก ตารางต่อไปนี้แสดงการใช้โควต้าตามวิธีการ
| วิธีการ | ค่าใช้จ่ายโควต้า |
|---|---|
matters.closematters.creatematters.deletematters.reopenmatters.updatematters.undelete
|
การอ่านข้อมูลใน Matter 1 ครั้ง การเขียนข้อมูลใน Matter 1 ครั้ง |
matters.count |
1 ครั้ง |
matters.get |
การอ่านข้อมูลใน Matter 1 ครั้ง |
matters.list |
การอ่านข้อมูลใน Matter 10 ครั้ง |
matters.addPermissionsmatters.removePermissions
|
การอ่านข้อมูลใน Matter 1 ครั้ง การเขียนข้อมูลใน Matter 1 ครั้ง การเขียนสิทธิ์ของ Matter 1 ครั้ง |
matters.exports.create |
การอ่านข้อมูลการส่งออก 1 ครั้ง การเขียนข้อมูลการส่งออก 10 ครั้ง |
matters.exports.delete |
การเขียนข้อมูลการส่งออก 1 ครั้ง |
matters.exports.get |
การอ่านข้อมูลการส่งออก 1 ครั้ง |
matters.exports.list |
การอ่านข้อมูลการส่งออก 5 ครั้ง |
matters.holds.addHeldAccountsmatters.holds.creatematters.holds.deletematters.holds.removeHeldAccountsmatters.holds.update
|
การอ่านข้อมูลใน Matter 1 ครั้ง การเขียนข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง การเขียนข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง |
matters.holds.list |
การอ่านข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 3 ครั้ง |
matters.holds.accounts.creatematters.holds.accounts.deletematters.holds.accounts.list
|
การอ่านข้อมูลใน Matter 1 ครั้ง การเขียนข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง การเขียนข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง |
matters.savedQueries.creatematters.savedQueries.delete
|
การอ่านข้อมูลใน Matter 1 ครั้ง การเขียนข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการค้นหาที่บันทึกไว้ 1 ครั้ง การเขียนข้อมูลการค้นหาที่บันทึกไว้ 1 ครั้ง |
matters.savedQueries.get |
การอ่านข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการค้นหาที่บันทึกไว้ 1 ครั้ง |
matters.savedQueries.list |
การอ่านข้อมูลใน Matter 1 ครั้ง การอ่านข้อมูลการค้นหาที่บันทึกไว้ 3 ครั้ง |
operations.get |
การอ่านข้อมูลการดำเนินการที่ใช้เวลานาน 1 ครั้ง |
แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา
หากคุณใช้โควต้าต่อนาทีหรือโควต้าต่อองค์กรเกิน ระบบมักจะแสดงการตอบกลับรหัสสถานะ HTTP
429: Too many requests
สำหรับข้อผิดพลาดทั้งหมดที่อิงตามเวลา (คำขอสูงสุด N รายการต่อ X นาที) เราขอแนะนำ ให้โค้ดของคุณดักจับข้อยกเว้นและใช้ Exponential Backoff แบบย่อ เพื่อให้แน่ใจว่าอุปกรณ์ จะไม่สร้างภาระงานมากเกินไป
Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งโดยใช้เวลารอระหว่างคำขอเพิ่มขึ้นแบบยกกำลัง จนถึงเวลา Exponential Backoff สูงสุด หากคำขอไม่สำเร็จ คุณควรเพิ่มความล่าช้าระหว่างคำขอเมื่อเวลาผ่านไปจนกว่าคำขอจะสำเร็จ
อัลกอริทึมตัวอย่าง
อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งแบบยกกำลัง โดยเพิ่มเวลารอ ระหว่างการลองอีกครั้งจนถึงเวลา Exponential Backoff สูงสุด เช่น
- ส่งคำขอไปยัง Google Vault 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 แล้ว
การลองอีกครั้งหลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลา Exponential Backoff ต่อไป เช่น
หากไคลเอ็นต์ใช้เวลา maximum_backoff 64 วินาที หลังจากถึงค่า
นี้แล้ว ไคลเอ็นต์จะลองอีกครั้งทุกๆ 64 วินาทีได้ ไคลเอ็นต์ควรหยุดลองอีกครั้งอย่างไม่มีกำหนดเมื่อถึงจุดหนึ่ง
เวลารอระหว่างการลองอีกครั้งและจำนวนการลองอีกครั้งจะขึ้นอยู่กับกรณีการใช้งาน และสภาพเครือข่าย
ขอเพิ่มโควต้า
คุณอาจต้องการขอปรับโควต้าตามการใช้ทรัพยากรของโปรเจ็กต์ ระบบจะถือว่าการเรียก API โดยบัญชีบริการเป็นการใช้บัญชีเดียว การขอโควต้าที่ปรับแล้วอาจไม่ได้รับการอนุมัติเสมอไป คำขอปรับโควต้าที่จะเพิ่มค่าโควต้าอย่างมากอาจใช้เวลาในการอนุมัตินานขึ้น
โปรเจ็กต์ทั้งหมดอาจมีโควต้าไม่เท่ากัน เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ ค่าโควต้าอาจต้องเพิ่มขึ้น หากคาดว่าจะมีการใช้งานเพิ่มขึ้นอย่างเห็นได้ชัดในอนาคต คุณสามารถขอปรับโควต้าล่วงหน้าได้จากหน้าโควต้าและขีดจำกัดของระบบในคอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้
ราคา
ลูกค้า Google Workspace สามารถใช้ Google ห้องนิรภัย API ได้ทั้งหมดโดยไม่มีค่าใช้จ่ายเพิ่มเติม