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 से अनुरोध करें.
- अगर अनुरोध पूरा नहीं हो पाता, तो एक और
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
की समयसीमा पूरी होने के बाद, फिर से कोशिश करना जारी रख सकता है.
इस पॉइंट के बाद फिर से कोशिश करने पर, बैकऑफ़ समय को जारी रखने की ज़रूरत नहीं होती. उदाहरण
के लिए, अगर कोई क्लाइंट 64 सेकंड की maximum_backoff
अवधि का इस्तेमाल करता है, तो
इस वैल्यू तक पहुंचने के बाद, क्लाइंट हर 64 सेकंड में फिर से कोशिश कर सकता है. कभी-कभी, क्लाइंट को फिर से कोशिश करने से रोका जाना चाहिए.
बार-बार की जाने वाली कोशिशों के बीच इंतज़ार का समय, आपके इस्तेमाल के उदाहरण और नेटवर्क की स्थिति पर निर्भर करता है.
कीमत
Google Drive API का हर तरह का इस्तेमाल बिना किसी शुल्क के किया जा सकता है. अनुरोध की तय सीमा से ज़्यादा स्टोरेज का इस्तेमाल करने पर, आपसे अलग से शुल्क नहीं लिया जाता. साथ ही, आपके खाते से बिलिंग भी नहीं की जाती.
कोटा बढ़ाने का अनुरोध करें
अपने प्रोजेक्ट के संसाधन इस्तेमाल के आधार पर, आप कोटा बढ़ाने का अनुरोध कर सकते हैं. किसी सेवा खाते से किए जाने वाले एपीआई कॉल को एक ही खाते का इस्तेमाल करने वाला माना जाता है. बढ़े हुए कोटा के लिए आवेदन करने से मंज़ूरी मिलने की गारंटी नहीं होती. कोटे में बड़े बदलाव को मंज़ूरी मिलने में ज़्यादा समय लग सकता है.
सभी प्रोजेक्ट का कोटा एक जैसा नहीं होता. समय के साथ Google Cloud का इस्तेमाल बढ़ने से, कोटे को बढ़ाना पड़ सकता है. अगर आपको आने वाले समय में, एट्रिब्यूट के इस्तेमाल में काफ़ी बढ़ोतरी होने की उम्मीद है, तो Google Cloud Console में मौजूद कोटा पेज पर जाकर, कोटा घटाने या बढ़ाने का अनुरोध किया जा सकता है.
ज़्यादा जानकारी के लिए, यहां दिए गए लेख पढ़ें:
- कोटा बढ़ाने के अनुरोधों के बारे में जानकारी
- अपने कोटा के इस्तेमाल की मौजूदा सीमा और उसकी सीमाएं देखना
- कोटे की सीमा को बढ़ाने का अनुरोध करना