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

เนื่องจาก Google Chat API เป็นบริการที่ใช้ร่วมกัน เราจึงกำหนดโควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างยุติธรรมและเพื่อปกป้องประสิทธิภาพโดยรวมของ Google Workspace

หากคุณใช้โควต้าเกิน ระบบจะแสดงการตอบกลับรหัสสถานะ HTTP 429: Too many requests นอกจากนี้ การตรวจสอบการจำกัดอัตราเพิ่มเติมในแบ็กเอนด์ของ Chat อาจทำให้เกิดการตอบกลับข้อผิดพลาดเดียวกันด้วย หากเกิดข้อผิดพลาดนี้ คุณ ควรใช้อัลกอริทึม Exponential Backoff และลองอีกครั้งในภายหลัง ตราบใดที่คุณยังคงอยู่ในโควต้าต่อนาทีที่ระบุไว้ในตารางต่อไปนี้ ระบบจะไม่จำกัดจำนวนคำขอที่คุณส่งได้ต่อวัน

เมธอด Chat API อาจมีโควต้าหลายประเภท ได้แก่ โควต้าต่อโปรเจ็กต์ โควต้าต่อพื้นที่ทำงาน และโควต้าต่อผู้ใช้

โควต้าต่อโปรเจ็กต์

โควต้าต่อโปรเจ็กต์จะจำกัดอัตราการค้นหาสำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google และจึงมีผลกับแอป Chat เดียวที่เรียกใช้เมธอด Chat API ที่ระบุสำหรับโควต้าแต่ละรายการ

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดการค้นหาต่อโปรเจ็กต์ นอกจากนี้ คุณยังดู ขีดจำกัดเหล่านี้ได้ในหน้า โควต้า

โควต้าต่อโปรเจ็กต์

เมธอด Chat API

ขีดจำกัด (ต่อ 60 วินาที)

การเขียนข้อความต่อนาที

spaces.messages.create

spaces.messages.patch

spaces.messages.delete

3000

การอ่านข้อความต่อนาที

spaces.messages.get

spaces.messages.list

3000

การเขียนการเป็นสมาชิกต่อนาที

spaces.members.create

spaces.members.delete

300

การอ่านการเป็นสมาชิกต่อนาที

spaces.members.get

spaces.members.list

3000

การเขียนพื้นที่ทำงานต่อนาที

spaces.setup

spaces.create

spaces.patch

spaces.delete

60

การอ่านพื้นที่ทำงานต่อนาที

spaces.get

spaces.list

spaces.findDirectMessage

3000

การเขียนไฟล์แนบต่อนาที

media.upload

600

การอ่านไฟล์แนบต่อนาที

spaces.messages.attachments.get

media.download

3000

การเขียนรีแอ็กชันต่อนาที

spaces.messages.reactions.create

spaces.messages.reactions.delete

600

การอ่านรีแอ็กชันต่อนาที

spaces.messages.reactions.list

3000

การเขียน CustomEmoji ต่อนาที

customEmojis.create

customEmojis.delete

600

การอ่าน CustomEmoji ต่อนาที

customEmojis.get

customEmojis.list

3000

การเขียนส่วนต่อนาที

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

600

การอ่านส่วนต่อนาที

users.sections.list

users.sections.items.list

3000

การอ่านสถานะว่างต่อนาที

users.availability.get

3000

การเขียนสถานะว่างต่อนาที

users.availability.update

users.availability.markAsActive

users.availability.markAsAway

users.availability.markAsDoNotDisturb

3000

โควต้าต่อพื้นที่ทำงาน

โควต้าต่อพื้นที่ทำงานจะจำกัดอัตราการค้นหาในพื้นที่ทำงานที่กำหนด และแอป Chat ทั้งหมดที่ทำงานในพื้นที่ทำงานนั้นจะใช้โควต้าเหล่านี้ร่วมกันเมื่อเรียกใช้เมธอด Chat API ที่ระบุสำหรับโควต้าแต่ละรายการ

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดการค้นหาต่อพื้นที่ทำงาน

โควต้าต่อพื้นที่ทำงาน

เมธอด Chat API

ขีดจำกัด (ต่อวินาที)

การอ่านต่อวินาที

media.download

spaces.get

spaces.members.get

spaces.members.list

spaces.messages.get

spaces.messages.list

spaces.messages.attachments.get

spaces.messages.reactions.list

15

การเขียนต่อวินาที

media.upload

spaces.delete

spaces.patch

spaces.messages.create (มีขีดจำกัดเพิ่มเติมสำหรับ เว็บฮุคขาเข้า)

spaces.messages.delete

spaces.messages.patch

spaces.messages.reactions.delete

1

การเขียนรีแอ็กชัน "สร้าง" ต่อวินาที

spaces.messages.reactions.create

5

การเขียนข้อความต่อวินาทีขณะนำเข้าข้อมูลไปยัง Google Chat

spaces.messages.create

10

โควต้าต่อผู้ใช้

โควต้าต่อผู้ใช้จะจำกัดอัตราการค้นหาสำหรับผู้ใช้ Google Chat การค้นหา เกี่ยวข้องกับแอป Chat ทั้งหมดที่เรียกใช้เมธอด Chat API ใน นามของผู้ใช้ (โดยใช้ การตรวจสอบสิทธิ์ของผู้ใช้)

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดการค้นหาต่อผู้ใช้

โควต้าต่อผู้ใช้

เมธอด Chat API

ขีดจำกัด (ต่อวินาที)

การเขียน CustomEmoji ต่อวินาที

customEmojis.create

customEmojis.delete

1

การอ่าน CustomEmoji ต่อวินาที

customEmojis.get

customEmojis.list

15

การเขียนต่อวินาที

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

users.availability.update

users.availability.markAsActive

users.availability.markAsAway

users.availability.markAsDoNotDisturb

1

การอ่านต่อวินาที

users.sections.list

users.sections.items.list

users.availability.get

15

ขีดจำกัดการใช้งานเพิ่มเติม

ปริมาณการเข้าชม API สูงที่กำหนดเป้าหมายไปยังพื้นที่ทำงานเดียวกันอาจทริกเกอร์ ขีดจำกัดภายในเพิ่มเติมซึ่งไม่ปรากฏใน หน้าโควต้า

แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา

สำหรับข้อผิดพลาดทั้งหมดที่อิงตามเวลา (คำขอสูงสุด N รายการต่อ X นาที) เราขอแนะนำ ให้โค้ดของคุณดักจับข้อยกเว้นและใช้ Exponential Backoff แบบย่อ เพื่อให้แน่ใจว่าอุปกรณ์ จะไม่สร้างโหลดมากเกินไป

Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งโดยใช้เวลารอที่เพิ่มขึ้นแบบยกกำลัง ระหว่างคำขอ โดยรอสูงสุดตามเวลา Backoff สูงสุด หากคำขอไม่สำเร็จ คุณควรเพิ่มความล่าช้าระหว่างคำขอเมื่อเวลาผ่านไปจนกว่าคำขอจะสำเร็จ

อัลกอริทึมตัวอย่าง

อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งแบบยกกำลัง โดยเพิ่มเวลารอ ระหว่างการลองอีกครั้งจนถึงเวลา Backoff สูงสุด เช่น

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

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

ขอเพิ่มโควต้าต่อโปรเจ็กต์

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

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

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

โควต้าเซิร์ฟเวอร์ Chat MCP

เซิร์ฟเวอร์ Chat MCP ใช้เมตริกการจัดสรรต้นทุนการค้นหา ตารางต่อไปนี้แสดงรายละเอียดต้นทุนการค้นหาสำหรับเมธอดเซิร์ฟเวอร์ Chat MCP แต่ละรายการตามส่วน

โควต้า Chat MCP

ระบบจะบังคับใช้โควต้า 2 ประเภท ได้แก่

  • ต่อนาทีต่อโปรเจ็กต์: ต้นทุนการค้นหาสำหรับโปรเจ็กต์ Google Cloud ต่อนาที

  • ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์: ต้นทุนการค้นหาสำหรับโปรเจ็กต์ Google Cloud ต่อนาทีที่ผู้ใช้รายใดรายหนึ่งใช้ได้

ตารางต่อไปนี้แสดงรายละเอียดโควต้าเหล่านี้

ประเภทขีดจำกัดการใช้งาน ต้นทุนการค้นหา
ต่อนาทีต่อโปรเจ็กต์ 3,000
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 300

ชุดเครื่องมือ Chat MCP

ตารางต่อไปนี้แสดงรายละเอียดต้นทุนการค้นหาสำหรับชุดเครื่องมือ chatmcp.googleapis.com แต่ละรายการ

ปลายทาง

เครื่องมือ

ต้นทุนการค้นหา

/mcp/v1

list_messages

1

search_conversations

10

search_messages

10

send_message

10

ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิง Chat MCP API Reference