Kullanım sınırları

Google Chat API paylaşılan bir hizmet olduğundan, tüm kullanıcılar tarafından adil bir şekilde kullanıldığından emin olmak ve Google Workspace performansı.

Bir kotayı aşarsanız 429: Too many requests HTTP alırsınız. durum kodu yanıtı ekleyin. Chat'te ek ücret sınırı kontrolleri arka uç da aynı hata yanıtını oluşturabilir. Bu hata oluşursa bir üstel geri yükleme algoritması ve daha sonra tekrar deneyin. Şu adreste listelenen dakika başına kotalar dahilinde olduğunuz sürece: Aşağıdaki tablolarda, gönderebileceğiniz istek sayısı için bir sınır yoktur elde eder.

Chat API yöntemleri için iki kota türü geçerlidir: alan başına ve proje başına kotalar.

Alan başına kotalar

Alan başına kotalar, belirli bir alandaki sorgu hızını sınırlar ve alanlar arasında paylaşılır. Söz konusu alanda faaliyet gösteren ve listelenen çağrıyı yapan tüm Chat uygulamaları Her kota için Chat API yöntemleri.

Aşağıdaki tabloda, alan başına sorgu sınırları hakkında ayrıntılı bilgi verilmektedir:

Alan Başına Kota

Chat API yöntemleri

Sınır (60 saniye başına, alandaki tüm Chat uygulamaları arasında
paylaşılır)

Dakika başına okuma sayısı

media.download

spaces.get

spaces.members.get

spaces.members.list

spaces.messages.get

spaces.messages.list

spaces.messages.attachments.get

spaces.messages.reactions.list

900

Dakika başına yazma sayısı

media.upload

spaces.delete

spaces.patch

spaces.messages.create (gelen webhook'lar için de geçerlidir)

spaces.messages.delete

spaces.messages.patch

spaces.messages.reactions.create

spaces.messages.reactions.delete

60

Proje başına kotalar

Proje başına kotalar, Google Cloud projesinde sorgu hızını sınırlar ve Dolayısıyla, belirtilen koşulu çağıran tek bir Chat uygulamasına uygulanır Her kota için Chat API yöntemleri.

Aşağıdaki tabloda proje başına sorgu sınırları hakkında ayrıntılı bilgi verilmektedir. Ayrıca şunları da bulabilirsiniz: Kotalar sayfasında yer almaktadır.

Proje Başına Kota

Chat API yöntemleri

Sınır (60 saniye başına)

Dakika başına ileti yazma sayısı

spaces.messages.create

spaces.messages.patch

spaces.messages.delete

3000

Dakika başına mesaj okuma sayısı

spaces.messages.get

spaces.messages.list

3000

Dakika başına üyelik yazma sayısı

spaces.members.create

spaces.members.delete

300

Dakika başına üyelik okuma sayısı

spaces.members.get

spaces.members.list

3000

Dakikada alan yazma sayısı

spaces.setup

spaces.create

spaces.patch

spaces.delete

60

Dakikada alan okuma

spaces.get

spaces.list

spaces.findDirectMessage

3000

Dakika başına ek yazma sayısı

media.upload

600

Dakikada ek okuma

spaces.messages.attachments.get

media.download

3000

Dakikada tepki yazma

spaces.messages.reactions.create

spaces.messages.reactions.delete

600

Dakikada tepki okuma

spaces.messages.reactions.list

3000

Ek kullanım sınırları

GROUP_CHAT türünde alanlar oluşturmak için ek kota sınırları vardır veya SPACE (spaces.create ya da spaces.setup yöntemini kullanarak). Dakikada 35'ten az, başına 210'dan az alan oluşturun kaç saat olduğunu biliyorsunuz. DIRECT_MESSAGE türündeki alanlar şunlara tabi değildir ek kota sınırları.

Aynı alanı hedefleyen herhangi bir API'nin saniyedeki büyük sorguları (QPS) tetikleyebilir modellerinde görünmeyen ek dahili sınırlar Kotalar sayfası.

Zamana dayalı kota hatalarını çözme

Tüm zaman tabanlı hatalar (X dakika başına en fazla N istek) için kodunuz bu istisnayı yakalar ve cihazlar aşırı yük oluşturmaz.

Üstel geri yükleme, ağ uygulamaları için standart bir hata işleme stratejisidir. eksponansiyel geri yükleme algoritması, katlanarak artan bekleme sürelerini kullanarak istekleri yeniden dener maksimum geri yükleme süresine kadar ekleyebilirsiniz. İstekler yine de başarısız olursa, İstek başarılı olana kadar istekler arasındaki gecikmelerin zamanla artması önemlidir.

Örnek algoritma

Üstel geri yükleme algoritması, istekleri katlanarak yeniden dener ve bekleme süresini artırır. maksimum geri yükleme süresine kadar izleyebilirsiniz. Örneğin:

  1. Google Chat API'ye istek gönderin.
  2. İstek başarısız olursa 1 + random_number_milliseconds bekleyip tekrar deneyin talep ediyor.
  3. İstek başarısız olursa 2 + random_number_milliseconds bekleyip tekrar deneyin talep ediyor.
  4. İstek başarısız olursa 4 + random_number_milliseconds bekleyip tekrar deneyin talep ediyor.
  5. maximum_backoff defaya kadar bu şekilde devam edebilirsiniz.
  6. Beklemeye devam edip maksimum yeniden deneme sayısına kadar tekrar deneyin ancak bekleme süresini artırmayın süre, yeniden denemeler arasındaki süre olarak kabul edilir.

Bu örnekte:

  • Bekleme süresi min(((2^n)+random_number_milliseconds), maximum_backoff), Her yineleme (istek) için 1 artan n ile.
  • random_number_milliseconds, şundan küçük rastgele bir milisaniye sayısıdır: eşittir. Bu sayede, çok sayıda istemcinin aynı sunucu tarafından senkronize edildiği ve tüm bunları aynı anda yeniden dener ve istekleri senkronize edilmiş bir şekilde gönderir. dalgalar. random_number_milliseconds değeri her bir tarihten sonra yeniden hesaplanır yeniden deneme isteğinde bulunun.
  • maximum_backoff genellikle 32 veya 64 saniyedir. Uygun değer kullanım alanına göre değişir.

İstemci, maximum_backoff zamanına ulaştıktan sonra yeniden denemeye devam edebilir. Bu noktadan sonra yapılan yeniden denemelerin, geri yükleme süresini artırmaya devam etmesi gerekmez. Örneğin, Örneğin, bir müşteri 64 saniyelik maximum_backoff süresi kullanırsa ve bu süre dolduktan sonra istemci 64 saniyede bir yeniden deneyebilir. Bir noktada, istemcinin süresiz olarak yeniden denemesi engellenmelidir.

Yeniden denemeler ile yeniden deneme sayısı arasındaki bekleme süresi, kullanım alanınıza bağlıdır ve ağ koşulları.

Proje başına kota artışı isteyin

Projenizin kaynak kullanımına bağlı olarak kota istemeniz gerekebilir. artırmış olabilir. Bir hizmet hesabı tarafından yapılan API çağrılarının tek hesap olabilir. Artırılmış kotaya başvurmanız onay almayı garanti etmez. Büyük kota artışlarının onaylanması daha uzun sürebilir.

Her projenin kotası aynı değildir. Google Cloud'u gittikçe daha fazla kotalarınızın artması gerekebilir. Yakında önemli bir etkinlik bekliyorsanız büyük çaplı değişiklikler yapmak için kota düzenlemeleri için istekte bulunma Kotalar sayfasından kullanıma sunduk.

Daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın: