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

เนื่องจาก 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.close
matters.create
matters.delete
matters.reopen
matters.update
matters.undelete
การอ่านข้อมูลใน Matter 1 ครั้ง
การเขียนข้อมูลใน Matter 1 ครั้ง
matters.count 1 ครั้ง
matters.get การอ่านข้อมูลใน Matter 1 ครั้ง
matters.list การอ่านข้อมูลใน Matter 10 ครั้ง
matters.addPermissions
matters.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.addHeldAccounts
matters.holds.create
matters.holds.delete
matters.holds.removeHeldAccounts
matters.holds.update
การอ่านข้อมูลใน Matter 1 ครั้ง
การเขียนข้อมูลใน Matter 1 ครั้ง
การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง
การเขียนข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง
matters.holds.list การอ่านข้อมูลใน Matter 1 ครั้ง
การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 3 ครั้ง
matters.holds.accounts.create
matters.holds.accounts.delete
matters.holds.accounts.list
การอ่านข้อมูลใน Matter 1 ครั้ง
การเขียนข้อมูลใน Matter 1 ครั้ง
การอ่านข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง
การเขียนข้อมูลการเก็บรักษาข้อมูลระหว่างดำเนินคดี 1 ครั้ง
matters.savedQueries.create
matters.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 สูงสุด เช่น

  1. ส่งคำขอไปยัง Google Vault 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 แล้ว การลองอีกครั้งหลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลา Exponential Backoff ต่อไป เช่น หากไคลเอ็นต์ใช้เวลา maximum_backoff 64 วินาที หลังจากถึงค่า นี้แล้ว ไคลเอ็นต์จะลองอีกครั้งทุกๆ 64 วินาทีได้ ไคลเอ็นต์ควรหยุดลองอีกครั้งอย่างไม่มีกำหนดเมื่อถึงจุดหนึ่ง

เวลารอระหว่างการลองอีกครั้งและจำนวนการลองอีกครั้งจะขึ้นอยู่กับกรณีการใช้งาน และสภาพเครือข่าย

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

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

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

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

ราคา

ลูกค้า Google Workspace สามารถใช้ Google ห้องนิรภัย API ได้ทั้งหมดโดยไม่มีค่าใช้จ่ายเพิ่มเติม