Google Dokümanlar API'si 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.
Bir kotayı aşarsanız genellikle 429: Too many requests
HTTP durum kodu yanıtı alırsınız. Böyle bir durumda üstel geri yükleme algoritması kullanıp daha sonra tekrar denemeniz gerekir.
İstek sınırlarıyla ilgili ayrıntılar aşağıdaki tabloda verilmiştir:
Kotalar | |||||
---|---|---|---|---|---|
Okuma istekleri |
|
||||
Yazma istekleri |
|
Zamana dayalı kota hatalarını çözme
Zamana dayalı tüm hatalar için (X dakika başına en fazla N istek) kodunuzun istisnayı yakalamasını ve cihazlarınızın aşırı yük oluşturmamasını sağlamak için kısaltılmış eksponansiyel geri yükleme kullanmasını öneririz.
Üslü geri alma, ağ uygulamaları için standart bir hata işleme stratejisidir. Üstel geri yükleme algoritması, istekler arasında maksimum geri yükleme süresine kadar katlanarak artan bekleme süreleri kullanarak istekleri yeniden dener. İstekler hâlâ başarısız oluyorsa isteğin 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:
- Google Docs API'ye istekte bulunun.
- İstek başarısız olursa 1 +
random_number_milliseconds
saniye bekleyip isteği tekrar deneyin. - İstek başarısız olursa 2 +
random_number_milliseconds
saniye bekleyip isteği tekrar deneyin. - İstek başarısız olursa 4 +
random_number_milliseconds
bekleyip isteği yeniden deneyin. maximum_backoff
defaya kadar bu şekilde devam edebilirsiniz.- Beklemeye ve maksimum deneme sayısına kadar yeniden denemeye devam edin ancak 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 olan rastgele bir milisaniye sayısıdır. Bu, birçok istemcinin bir durum nedeniyle senkronize edildiği ve isteklerin senkronize dalgalar halinde gönderilerek hepsinin 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 denemeler ile yeniden deneme sayısı arasındaki bekleme süresi, kullanım alanınıza ve ağ koşullarınıza bağlıdır.
Fiyatlandırma
Google Docs 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. Bir 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 edinmek için aşağıdaki kaynaklara göz atın:
- Kota artışı istekleri hakkında
- Mevcut kota kullanımınızı ve sınırlarınızı görüntüleme
- Daha yüksek kota sınırı isteme