Kullanım sınırları

Google Forms API paylaşılan bir hizmet olduğundan, tüm kullanıcılar tarafından adil bir şekilde kullanılmasını sağlamak ve Google Workspace sisteminin genel sağlığını korumak için kotalar ve sınırlamalar uygularız.

Kotayı aşarsanız genellikle 429: Too many requests HTTP durum kodu yanıtı alırsınız. Bu durumda, eksponansiyel geri yükleme algoritması kullanmalı ve daha sonra tekrar denemelisiniz. Aşağıdaki dakika başına kotalara uymanız koşuluyla, günde gönderebileceğiniz istek sayısı sınırsızdır.

Not: Form izlemenin ek sınırları vardır. Daha fazla bilgi için Push bildirimleri ayarlama ve alma başlıklı makaleyi inceleyin.

İstek sınırlarıyla ilgili ayrıntılar aşağıdaki tabloda verilmiştir:

Kotalar
Okuma istekleri
Proje başına günlük Sınırsız
Proje başına bir dakikada istek sayısı 975
Proje başına kullanıcı başına dakika 390
Pahalı okuma istekleri

(forms.responses.list istekleri için kullanılır.)

Proje başına günlük Sınırsız
Proje başına bir dakikada istek sayısı 450
Proje başına kullanıcı başına dakika 180
Yazma istekleri
Proje başına günlük Sınırsız
Proje başına bir dakikada istek sayısı 375
Proje başına kullanıcı başına dakika 150

Zamana dayalı kota hatalarını çözme

Zamana dayalı tüm hatalar (X dakika başına en fazla N istek) için kodunuzun istisnayı yakalamasını ve cihazlarınızın aşırı yük oluşturmamasını sağlamak amacıyla kesilmiş üssel geri çekme kullanmasını öneririz.

Üslü geri alma, ağ uygulamaları için standart bir hata işleme stratejisidir. Eksponansiyel geri yükleme algoritması, maksimum geri yükleme süresine kadar istekler arasında katlanarak artan bekleme süreleri kullanarak istekleri yeniden dener. İstekler hâlâ başarısız oluyorsa istek başarılı olana kadar istekler arasındaki gecikmenin zaman içinde artması önemlidir.

Örnek algoritma

Eksponansiyel geri yükleme algoritması, istekleri katlanarak yeniden dener ve yeniden denemeler arasındaki bekleme süresini maksimum geri yükleme süresine kadar artırır. Örneğin:

  1. Google Formlar API'sine istek gönderin.
  2. İstek başarısız olursa 1 + random_number_milliseconds saniye bekleyip isteği tekrar deneyin.
  3. İstek başarısız olursa 2 + random_number_milliseconds saniye bekleyip isteği tekrar deneyin.
  4. İstek başarısız olursa 4 + random_number_milliseconds saniye bekleyip isteği yeniden deneyin.
  5. Bu işlem maximum_backoff kez tekrarlanır.
  6. Beklemeye ve maksimum deneme sayısına kadar yeniden denemeye devam edin ancak yeniden denemeler arasındaki bekleme süresini artırmayın.

Bu örnekte:

  • Bekleme süresi min(((2^n)+random_number_milliseconds), maximum_backoff)'tür. n, her iterasyon (istek) için 1 artar.
  • random_number_milliseconds,1.000'den küçük veya 1.000'e eşit rastgele bir milisaniye sayısıdır. Bu, birçok istemcinin bir durum nedeniyle senkronize edildiği ve hepsinin senkronize dalgalar halinde istek göndererek aynı anda yeniden denediği durumların önlenmesine yardımcı olur. random_number_milliseconds değeri, her yeniden deneme isteğinden sonra yeniden hesaplanır.
  • maximum_backoff genellikle 32 veya 64 saniyedir. Uygun değer, kullanım alanına bağlıdır.

İstemci, maximum_backoff süresine ulaştıktan sonra yeniden denemeye devam edebilir. Bu noktadan sonra yapılan yeniden denemelerde bekleme süresinin artırılması gerekmez. Örneğin, bir istemci 64 saniyelik bir maximum_backoff süresi kullanıyorsa bu değere ulaştıktan sonra 64 saniyede bir yeniden deneyebilir. Bir noktada, istemcilerin süresiz olarak yeniden denemeleri engellenmelidir.

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

Fiyatlandırma

Google Forms API'nin kullanımı için ek ücret alınmaz. Kota isteği sınırlarının aşılması ek ücrete neden olmaz ve hesabınıza fatura gönderilmez.

Kota artışı isteme

Projenizin kaynak kullanımına bağlı olarak kota artışı isteyebilirsiniz. Hizmet hesabı tarafından yapılan API çağrılarının tek bir hesap kullandığı kabul edilir. Kota artışı başvurusunda bulunmak onay alacağınıza dair bir garanti teşkil etmez. Büyük kota artışlarının onaylanması daha uzun sürebilir.

Her projenin kotası aynı değildir. Google Cloud'u zaman içinde daha fazla kullandıkça kotalarınızın artırılması gerekebilir. Kullanımın önemli oranda artacağını düşünüyorsanız Google Cloud Console'daki Kotalar sayfasından önlem amaçlı olarak kota ayarlama isteğinde bulunabilirsiniz.

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