Google Sheets API एक शेयर की जाने वाली सेवा है. इसलिए, हम कोटा और सीमाएं लागू करते हैं, ताकि यह पक्का किया जा सके कि सभी उपयोगकर्ता इसे सही तरीके से इस्तेमाल कर रहे हैं. साथ ही, हम यह भी पक्का कर रहे हैं कि Google Workspace सिस्टम को बेहतर बनाने के लिए भी ऐसा किया जा सके.
कोटा की सीमाएं
Sheets एपीआई का इस्तेमाल करने के लिए, एपीआई अनुरोध में कोई समस्या नहीं होती. इसलिए, हो सकता है कि उपयोगकर्ताओं को प्रोसेसिंग से जुड़े अलग-अलग कॉम्पोनेंट का इस्तेमाल करने पर सीमाएं लागू न हों. तेज़ी से अनुरोध करने के लिए, Google यह सुझाव देता है कि पेलोड का साइज़ 2 एमबी से ज़्यादा न हो.
Sheets API में, हर मिनट के हिसाब से कोटा होता है. इसे हर मिनट भरा जाता है. उदाहरण के लिए, हर प्रोजेक्ट में सिर्फ़ 300 मिनट प्रति मिनट में पढ़ा जा सकता है.
अगर आपका ऐप्लिकेशन एक मिनट में 350 अनुरोध भेजता है, तो अन्य 50 अनुरोध कोटा से ज़्यादा हो जाते हैं और यह 429: Too many requests
एचटीटीपी स्टेटस कोड रिस्पॉन्स जनरेट करता है. अगर ऐसा होता है, तो आपको
एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए. एक मिनट बाद, फिर से अनुरोध किए जा सकते हैं. एक साथ कई अनुरोध सबमिट किए जा सकते हैं. हालांकि, इसके लिए ज़रूरी है कि वे कोटा के अंदर हों.
Sheets के सभी अनुरोध अपने-आप लागू होते हैं. इसका मतलब है कि अगर कोई अनुरोध मान्य नहीं है, तो पूरा अपडेट नहीं हो पाता है और उस पर कोई भी संभावित बदलाव लागू नहीं होता.
नीचे दी गई टेबल में अनुरोध की सीमाओं के बारे में बताया गया है. इसके लिए, आपको हर मिनट के कोटा में रहना होगा, लेकिन हर दिन एक तय संख्या में ही अनुरोध किए जा सकते हैं.
कोटा | |||||
---|---|---|---|---|---|
अनुरोध पढ़ें |
|
||||
अनुरोध लिखें |
|
फ़ाइल की सीमाओं के बारे में जानने के लिए, Google Drive में सेव की जा सकने वाली फ़ाइलें पर जाएं.
समय-आधारित कोटा की गड़बड़ियां ठीक करें
समय के हिसाब से होने वाली सभी गड़बड़ियों (ज़्यादा से ज़्यादा N मिनट के लिए N अनुरोध) के लिए, हमारा सुझाव है कि आप कोड में छूट पाएं और काटे गए हिस्से का एक्सपोनेन्शियल बैकऑफ़ इस्तेमाल करें.
एक्स्पोनेंशियल बैकऑफ़, नेटवर्क ऐप्लिकेशन के लिए गड़बड़ी को ठीक करने की मानक रणनीति है. एक एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों के बीच बहुत ज़्यादा इंतज़ार के समय का इस्तेमाल करके, फिर से कोशिश करता है. अगर अनुरोध अब भी स्वीकार नहीं किए जाते हैं, तो यह ज़रूरी है कि समय के साथ अनुरोधों के काम करने के बीच की देरी हो.
एल्गोरिदम का उदाहरण
एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोध का फिर से अनुरोध करता है. इससे, बैक अप लेने की अवधि में बढ़ोतरी होती है और फिर से कोशिश करने के बीच ज़्यादा से ज़्यादा समय लगता है. उदाहरण के लिए:
- Google Sheets API का अनुरोध करें.
- अगर अनुरोध स्वीकार नहीं किया जाता, तो 1 +
random_number_milliseconds
बार इंतज़ार करें और फिर से कोशिश करें. - अगर अनुरोध पूरा नहीं होता, तो 2 +
random_number_milliseconds
इंतज़ार करें और फिर से अनुरोध करें. - अगर अनुरोध स्वीकार नहीं किया जाता, तो 4 +
random_number_milliseconds
बार इंतज़ार करें और फिर से अनुरोध करें. - वगैरह,
maximum_backoff
बार. - इंतज़ार करें और ज़्यादा से ज़्यादा बार कोशिश करने की कोशिश करें. हालांकि, कोशिश करने के बीच ज़्यादा इंतज़ार न करें.
कहां:
- इंतज़ार का समय
min(((2^n)+random_number_milliseconds), maximum_backoff)
है. इसमें, हर बार समीक्षा करने (अनुरोध) के लिए,n
को 1 बढ़ाया गया है. random_number_milliseconds
, किसी भी क्रम में मिलीसेकंड वाली संख्या होती है. यह 1,000 के बराबर या इससे कम होती है. इससे ऐसे मामलों से बचने में मदद मिलती है जिनमें कई क्लाइंट किसी खास स्थिति में सिंक किए गए होते हैं. साथ ही, उन सभी को एक साथ सिंक करने की कोशिश करते हुए उन अनुरोधों को सिंक करने की कोशिश की जाती है. फिर से कोशिश करने के हर अनुरोध के बाद,random_number_milliseconds
की वैल्यू का फिर से हिसाब लगाया जाता है.- आम तौर पर,
maximum_backoff
32 या 64 सेकंड का होता है. सही वैल्यू, इस्तेमाल के उदाहरण के आधार पर तय की जाती है.
क्लाइंट maximum_backoff
बार तक पहुंचने के बाद, फिर से कोशिश करना जारी रख सकता है.
इस समय के बाद की कोशिशों के लिए, बैकऑफ़ समय को बढ़ाना ज़रूरी नहीं है. उदाहरण के लिए, अगर कोई क्लाइंट 64 सेकंड के maximum_backoff
समय का इस्तेमाल करता है, तो इस वैल्यू पर पहुंचने के बाद
क्लाइंट हर 64 सेकंड में फिर से कोशिश कर सकता है. कुछ मामलों में, क्लाइंट को अनिश्चित समय के लिए फिर से कोशिश करने से रोका जाना चाहिए.
कितनी बार कोशिश करने के बाद, दोबारा कोशिश की जाती है, यह आपके इस्तेमाल के उदाहरण और नेटवर्क की स्थिति पर निर्भर करता है.
कीमत
Google Sheets API का इस्तेमाल, बिना किसी शुल्क के किया जा सकता है. अनुरोध की तय सीमा पार करने पर कोई और शुल्क नहीं लिया जाता. साथ ही, आपके खाते से उसका शुल्क भी नहीं लिया जाता.
कोटा बढ़ाने का अनुरोध करें
प्रोजेक्ट के संसाधन के इस्तेमाल के हिसाब से, कोटा बढ़ाने का अनुरोध किया जा सकता है. यह माना जाता है कि सेवा खाते के एपीआई कॉल से एक ही खाता इस्तेमाल किया जा रहा है. बढ़े हुए कोटा के लिए आवेदन करने से अनुमति मिलने की गारंटी नहीं मिलती. कोटा ज़्यादा होने पर, अनुमति मिलने में ज़्यादा समय लग सकता है.
सभी प्रोजेक्ट के लिए कोटा एक जैसा नहीं होता. समय के साथ, जैसे-जैसे आप Google Cloud का इस्तेमाल करते हैं, आपके कोटा को बढ़ाने की ज़रूरत पड़ सकती है. अगर आपको लगता है कि आने वाले समय में ट्रैफ़िक में काफ़ी बढ़ोतरी होगी, तो Google Cloud Console में कोटा पेज पर जाकर, कोटा में बदलाव करने का अनुरोध किया जा सकता है.
ज़्यादा जानकारी के लिए, नीचे दिए गए संसाधन देखें:
- कोटा बढ़ाने के अनुरोधों के बारे में जानकारी
- अपने मौजूदा कोटा के इस्तेमाल और सीमाएं देखना
- कोटा बढ़ाने की सीमा का अनुरोध करना