इस्तेमाल करने की सीमा

Google Sheets API, शेयर की जाने वाली सेवा है. हम सभी उपयोगकर्ताओं के लिए, Google Workspace सिस्टम की परफ़ॉर्मेंस को बेहतर बनाए रखने के लिए, कोटा और सीमाएं लागू करते हैं.

सीमाएं

Sheets API के लिए, एपीआई अनुरोध के साइज़ की कोई तय सीमा नहीं है. हालांकि, उपयोगकर्ताओं को अलग-अलग प्रोसेसिंग कॉम्पोनेंट की वजह से सीमाएं दिख सकती हैं. इन कॉम्पोनेंट को Google Sheets कंट्रोल नहीं करता. अनुरोधों को तेज़ी से प्रोसेस करने के लिए, हम पेलोड का साइज़ ज़्यादा से ज़्यादा 2 एमबी रखने का सुझाव देते हैं.

Sheets API के लिए, हर मिनट के हिसाब से कोटा तय किए जाते हैं. ये कोटा हर मिनट रीफ़िल होते हैं. उदाहरण के लिए, हर प्रोजेक्ट के लिए, हर मिनट में 300 बार पढ़ने का अनुरोध किया जा सकता है. अगर आपका ऐप्लिकेशन एक मिनट में 350 अनुरोध भेजता है, तो 50 अतिरिक्त अनुरोध कोटा से ज़्यादा हो जाते हैं. इससे, 429: Too many requests एचटीटीपी स्टेटस कोड का जवाब जनरेट होता है. अगर ऐसा होता है, तो आपको एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए. एक मिनट बाद, अनुरोध फिर से किए जा सकते हैं.

यहां दी गई टेबल में, अनुरोध करने की सीमाओं के बारे में बताया गया है:

कोटा
पढ़ने के अनुरोध
हर प्रोजेक्ट के लिए, हर मिनट 300
हर प्रोजेक्ट के लिए, हर उपयोगकर्ता के हिसाब से हर मिनट 60
लिखने के अनुरोध
हर प्रोजेक्ट के लिए, हर मिनट 300
हर प्रोजेक्ट के लिए, हर उपयोगकर्ता के हिसाब से हर मिनट 60

फ़ाइल की सीमाओं के बारे में जानने के लिए, Google Drive में स्टोर की जा सकने वाली फ़ाइलें लेख पढ़ें.

व्यवहार और सीमाएं

Sheets API के साथ काम करते समय, इसके व्यवहार और सीमाओं के बारे में जानें. इनसे आपके कोटा पर असर पड़ता है:

  • पढ़ने के अनुरोध, किसी भी ऐसे तरीके के लिए किए जाने वाले कॉल होते हैं जिनसे स्प्रेडशीट से डेटा मिलता है. जैसे, get या search. लिखने के अनुरोध, किसी भी ऐसे तरीके के लिए किए जाने वाले कॉल होते हैं जिनसे स्प्रेडशीट में बदलाव होता है. जैसे, update, clear या copyTo.

  • उपयोगकर्ता एक ही समय पर कई अनुरोध सबमिट कर सकते हैं. हालांकि, यह इस बात पर निर्भर करता है कि वे कोटा की सीमा के अंदर हों. बैच के हर अनुरोध को, जिसमें कोई भी सब-अनुरोध शामिल है, आपके इस्तेमाल की सीमा के हिसाब से एक एपीआई अनुरोध के तौर पर गिना जाता है.

  • Sheets के सभी अनुरोध, एटॉमिक तरीके से लागू होते हैं. इसका मतलब है कि अगर कोई अनुरोध मान्य नहीं है, तो पूरा अपडेट पूरा नहीं होगा. साथ ही, (संभावित तौर पर निर्भर) कोई भी बदलाव लागू नहीं होगा.

  • एक एपीआई अनुरोध को प्रोसेस करने के लिए, ज़्यादा से ज़्यादा समय की सीमा तय है. जब Sheets किसी अनुरोध को 180 सेकंड से ज़्यादा समय तक प्रोसेस करता है, तो अनुरोध में टाइम आउट की गड़बड़ी दिखती है.

  • अगर आप हर मिनट के हिसाब से तय किए गए कोटा के अंदर रहते हैं, तो एक दिन में किए जा सकने वाले अनुरोधों की संख्या की कोई सीमा नहीं है.

समय के हिसाब से तय किए गए कोटा से जुड़ी गड़बड़ियां ठीक करना

समय के हिसाब से तय की गई सभी गड़बड़ियों (हर X मिनट में ज़्यादा से ज़्यादा N अनुरोध) के लिए, हमारा सुझाव है कि आपका कोड अपवाद को पकड़ ले. साथ ही, यह पक्का करने के लिए कि आपके डिवाइस पर ज़्यादा लोड न पड़े, ट्रंकेटेड एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करें.

एक्स्पोनेंशियल बैकऑफ़, नेटवर्क ऐप्लिकेशन के लिए गड़बड़ी को ठीक करने की एक स्टैंडर्ड रणनीति है. एक एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों के बीच इंतज़ार के समय को एक्स्पोनेंशियल तरीके से बढ़ाकर, अनुरोधों को फिर से करता है. यह तब तक किया जाता है, जब तक कि बैकऑफ़ का ज़्यादा से ज़्यादा समय पूरा न हो जाए. अगर अनुरोध अब भी पूरे नहीं होते हैं, तो यह ज़रूरी है कि अनुरोध के पूरे होने तक, अनुरोधों के बीच का समय बढ़ता रहे.

एल्गोरिदम का उदाहरण

एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम, अनुरोधों को एक्स्पोनेंशियल तरीके से फिर से करता है. साथ ही, फिर से किए जाने वाले अनुरोधों के बीच इंतज़ार का समय तब तक बढ़ाता है, जब तक कि बैकऑफ़ का ज़्यादा से ज़्यादा समय पूरा न हो जाए. उदाहरण के लिए:

  1. Google Sheets API को कोई अनुरोध करें.
  2. अगर अनुरोध पूरा नहीं होता है, तो 1 + random_number_milliseconds तक इंतज़ार करें और अनुरोध को फिर से करें.
  3. अगर अनुरोध पूरा नहीं होता है, तो 2 + random_number_milliseconds तक इंतज़ार करें और अनुरोध को फिर से करें.
  4. अगर अनुरोध पूरा नहीं होता है, तो 4 + random_number_milliseconds तक इंतज़ार करें और अनुरोध को फिर से करें.
  5. इसी तरह, maximum_backoff समय तक इंतज़ार करें.
  6. फिर से अनुरोध करने की तय सीमा पूरी होने तक, इंतज़ार करें और अनुरोध को फिर से करें. हालांकि, फिर से किए जाने वाले अनुरोधों के बीच इंतज़ार की अवधि न बढ़ाएं.

कहां:

  • इंतज़ार का समय min(((2^n)+random_number_milliseconds), maximum_backoff), है. इसमें, हर बार (अनुरोध) के लिए n की वैल्यू 1 से बढ़ जाती है.
  • random_number_milliseconds मिलीसेकंड की एक रैंडम संख्या है. यह 1,000 से कम या इसके बराबर होती है. इससे, उन स्थितियों से बचने में मदद मिलती है जिनमें कई क्लाइंट किसी स्थिति के हिसाब से सिंक हो जाते हैं और सभी एक साथ फिर से अनुरोध करते हैं. इससे, सिंक की गई लहरों में अनुरोध भेजे जाते हैं. फिर से किए जाने वाले हर अनुरोध के बाद, random_number_milliseconds की वैल्यू फिर से कैलकुलेट की जाती है.
  • maximum_backoff आम तौर पर 32 या 64 सेकंड होता है. सही वैल्यू इस्तेमाल के उदाहरण पर निर्भर करती है.

क्लाइंट, maximum_backoff समय पूरा होने के बाद भी, फिर से अनुरोध कर सकता है. इसके बाद, फिर से किए जाने वाले अनुरोधों के लिए, बैकऑफ़ का समय बढ़ाने की ज़रूरत नहीं होती. उदाहरण के लिए, अगर कोई क्लाइंट maximum_backoff समय के तौर पर 64 सेकंड का इस्तेमाल करता है, तो इस वैल्यू तक पहुंचने के बाद, क्लाइंट हर 64 सेकंड में फिर से अनुरोध कर सकता है. कुछ समय बाद, क्लाइंट को हमेशा के लिए फिर से अनुरोध करने से रोका जाना चाहिए.

फिर से किए जाने वाले अनुरोधों के बीच इंतज़ार का समय और फिर से किए जाने वाले अनुरोधों की संख्या, आपके इस्तेमाल के उदाहरण और नेटवर्क की स्थितियों पर निर्भर करती है.

कीमत

Google Sheets API का स्टैंडर्ड इस्तेमाल, बिना किसी अतिरिक्त शुल्क के किया जा सकता है. कोटा के हिसाब से तय की गई अनुरोधों की सीमाओं से ज़्यादा अनुरोध करने पर, 2026 में आपके Google Cloud बिलिंग खाते से शुल्क लिया जाएगा. ज़्यादा जानकारी के लिए, एजेंट टूल और एपीआई के लिए Google Workspace का स्टैंडर्ड मॉडल लेख पढ़ें.

कोटा बढ़ाने का अनुरोध करना

अपने प्रोजेक्ट के संसाधन के इस्तेमाल के हिसाब से, कोटा में बदलाव करने का अनुरोध किया जा सकता है. सेवा खाते से किए गए एपीआई कॉल को, एक खाते का इस्तेमाल माना जाता है. कोटा में बदलाव के लिए आवेदन करने का मतलब यह नहीं है कि इसे मंज़ूरी मिल ही जाएगी. कोटा में बदलाव के ऐसे अनुरोधों को मंज़ूरी मिलने में ज़्यादा समय लग सकता है जिनसे कोटा की वैल्यू में काफ़ी बढ़ोतरी हो सकती है.

सभी प्रोजेक्ट के लिए, कोटा एक जैसे नहीं होते. समय के साथ-साथ, Google Cloud का इस्तेमाल बढ़ने पर, कोटा की वैल्यू बढ़ाने की ज़रूरत पड़ सकती है. अगर आपको लगता है कि आने वाले समय में इस्तेमाल में काफ़ी बढ़ोतरी होगी, तो Google Cloud कंसोल में, कोटा और सिस्टम की सीमाएं पेज पर जाकर, कोटा में बदलाव करने का अनुरोध किया जा सकता है.

ज़्यादा जानने के लिए, ये लेख पढ़ें और वीडियो देखें: