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