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

Google Drive API एक शेयर की गई सेवा है. इसलिए, हम इस पर कोटा और सीमाएं लागू करते हैं. ऐसा इसलिए किया जाता है, ताकि सभी उपयोगकर्ता इसका सही तरीके से इस्तेमाल कर सकें और Google Workspace सिस्टम की परफ़ॉर्मेंस को सुरक्षित रखा जा सके.

सूचना चैनल खोलते समय दिए गए पते पर भेजी गई सूचनाएं, आपके कोटे की सीमाओं में नहीं गिनी जाती हैं. हालांकि, changes.watch, channels.stop, और files.watch तरीकों को कॉल करने पर, आपके कोटा में गिनती होती है.

कोटा से ज़्यादा अनुरोध करने पर, आपको 403: User rate limit exceeded एचटीटीपी स्टेटस कोड वाला जवाब मिलेगा. Drive के बैकएंड पर, दर की सीमा की अतिरिक्त जांच करने पर भी 429: Too many requests जवाब जनरेट हो सकता है. अगर ऐसा होता है, तो आपको एक्स्पोनेंशियल बैकऑफ़ एल्गोरिदम का इस्तेमाल करना चाहिए. इसके बाद, कुछ समय बाद फिर से कोशिश करें. अगर आप यहां दिए गए हर मिनट के कोटे के हिसाब से अनुरोध करते हैं, तो एक दिन में किए जाने वाले अनुरोधों की संख्या पर कोई पाबंदी नहीं है.

यहां दी गई टेबल में क्वेरी की सीमाओं के बारे में बताया गया है:

कोटा
क्वेरी
हर 60 सेकंड में 12,000
हर उपयोगकर्ता के लिए हर 60 सेकंड में 12,000

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

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

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

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

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

  1. Google Drive 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 Drive API का इस्तेमाल, बिना किसी अतिरिक्त शुल्क के किया जा सकता है. कोटा अनुरोध की सीमाओं से ज़्यादा अनुरोध करने पर, कोई अतिरिक्त शुल्क नहीं लगता. साथ ही, आपके खाते से कोई शुल्क नहीं लिया जाता.

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

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

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

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