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