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

Google Docs API एक शेयर की गई सेवा है. इसलिए, हम कोटा और इसकी सीमाएं लागू करते हैं, ताकि यह पक्का किया जा सके कि सभी उपयोगकर्ता इसे सही तरीके से इस्तेमाल कर रहे हैं. साथ ही, हम यह भी पक्का कर रहे हैं कि Google Workspace सिस्टम को बेहतर बनाने के लिए भी ऐसा किया जा सके.

कोटा पार होने पर, आम तौर पर आपको 429: Too many requests एचटीटीपी स्टेटस कोड का जवाब मिलेगा. अगर ऐसा होता है, तो आपको एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए. इसके बाद, फिर से कोशिश करें.

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

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

समय-आधारित कोटा की गड़बड़ियां ठीक करें

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

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

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

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

  1. Google Docs 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 बार तक पहुंचने के बाद, फिर से कोशिश करना जारी रख सकता है. इस समय के बाद की कोशिशों के लिए, बैकऑफ़ समय को बढ़ाना ज़रूरी नहीं है. उदाहरण के लिए, अगर कोई क्लाइंट 64 सेकंड के maximum_backoff समय का इस्तेमाल करता है, तो इस वैल्यू पर पहुंचने के बाद क्लाइंट हर 64 सेकंड में फिर से कोशिश कर सकता है. कुछ मामलों में, क्लाइंट को अनिश्चित समय के लिए फिर से कोशिश करने से रोका जाना चाहिए.

कितनी बार कोशिश करने के बाद, दोबारा कोशिश की जाती है, यह आपके इस्तेमाल के उदाहरण और नेटवर्क की स्थिति पर निर्भर करता है.

कीमत

Google Docs API का इस्तेमाल, बिना किसी शुल्क के किया जा सकता है. अनुरोध की तय सीमा पार करने पर कोई और शुल्क नहीं लिया जाता. साथ ही, आपके खाते से उसका शुल्क भी नहीं लिया जाता.

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

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

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

ज़्यादा जानकारी के लिए, नीचे दिए गए संसाधन देखें: