Kullanım sınırları

Google Sheets API paylaşılan bir hizmet olduğundan kotalar ve sınırlamalar uygularız tüm kullanıcılar tarafından adil bir şekilde kullanıldığından emin olmak ve Google Workspace sisteminin sağlığı.

Kota sınırları

Sheets API'de API istekleri için kesin boyut sınırları olmasa da kullanıcılar, E-Tablolar tarafından kontrol edilmeyen farklı işleme bileşenlerinden kaynaklanan sınırlarla karşılaşabilir. Google, istekleri hızlandırmak için maksimum 2 MB'lık bir yük önerir.

Sheets API'nin dakika başına kotaları vardır ve kotalar dakikada bir yenilenir. Örneğin, proje başına dakikada 300 okuma isteği sınırı vardır. Uygulamanız bir dakikada 350 istek gönderirse ek 50 istek kotayı aşar ve 429: Too many requests HTTP durum kodu yanıtı. Bu durumda eksponansiyel geri yükleme algoritması. 1 dakika sonra uygulayabilir. Kullanıcılar, kota sınırını aşmadıkları sürece aynı anda birden fazla istek gönderebilir.

Tüm E-Tablolar istekleri otomatik olarak uygulanır. Diğer bir deyişle, herhangi bir istek geçerli değilse güncellemenin tamamı başarısız olur ve (potansiyel olarak bağımlı olan) değişikliklerin hiçbiri uygulanmaz.

Aşağıdaki tabloda, istek sınırları ayrıntılı olarak verilmiştir. Dakika başına kotalar dahilinde kalmanız koşuluyla, hiçbir zaman bir gün içinde gönderebileceğiniz istek sayısını sınırlandırmalısınız.

Kotalar
Okuma istekleri
Proje başına dakikada 300
Her bir proje için kullanıcı başına bir dakika 60
Yazma istekleri
Proje başına dakikada 300
Her bir proje için kullanıcı başına bir dakika 60

Dosya sınırlarıyla ilgili ayrıntılar için Google Drive'da depolayabileceğiniz dosyalar başlıklı makaleyi inceleyin.

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 Sheets API'den istekte bulunun.
  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ı.

Fiyatlandırma

Google Sheets API'nin kullanımı ek ücret ödemeden sunulur. Kotanın aşılması istek sınırları nedeniyle ek ücret alınmaz ve hesabınız faturalandırılmaz.

Kota artışı isteme

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: