Device Access प्रोजेक्ट पर उपयोगकर्ता, स्ट्रक्चर, और दर की सीमाएं लागू होती हैं. ये सीमाएं, एनवायरमेंट और कमर्शियल ऑफ़रिंग के टाइप के हिसाब से तय होती हैं.
हम चाहते हैं कि डेवलपर, लोगों को बेहतरीन अनुभव दें. हालांकि, हम यह भी चाहते हैं कि Nest की सेवा और डिवाइस हमेशा लोगों के लिए उपलब्ध रहें. अगर कोई इंटिग्रेशन, तय समय में बहुत ज़्यादा अनुरोध करता है, तो इससे सेवा और डिवाइस की उपलब्धता पर असर पड़ सकता है. इसलिए, SDM API में दर की सीमाएं लागू होती हैं. अनुरोध की तय संख्या सीमित करने की सुविधा, किसी तय समयावधि के लिए एपीआई कॉल की संख्या को सीमित करती है. साथ ही, संसाधनों का ज़रूरत से ज़्यादा इस्तेमाल होने से रोकती है.
एनवायरमेंट के हिसाब से सीमाएं
सभी प्रोजेक्ट, सैंडबॉक्स एनवायरमेंट में शुरू होते हैं. सैंडबॉक्स का इस्तेमाल, एसडीएम एपीआई का आकलन करने और निजी इस्तेमाल के लिए किया जाता है. इसलिए, इसकी सीमाएं तय की गई हैं. ज़्यादा उपयोगकर्ताओं वाले एनवायरमेंट, जैसे कि कमर्शियल डेवलपमेंट के लिए, अलग-अलग सीमाएँ तय की गई हैं.
सैंडबॉक्स में उपयोगकर्ताओं की सीमाएं
सैंडबॉक्स में मौजूद डेवलपर खाते में, सभी प्रोजेक्ट के पांच स्ट्रक्चर में सिर्फ़ 25 उपयोगकर्ताओं को शामिल किया जा सकता है. हर खाते में ज़्यादा से ज़्यादा तीन प्रोजेक्ट बनाए जा सकते हैं.
हर स्ट्रक्चर में सिर्फ़ पांच उपयोगकर्ता जोड़े जा सकते हैं. इसलिए, उपयोगकर्ताओं की सीमा तब तक नहीं पहुंचेगी, जब तक सभी पांच स्ट्रक्चर में पांच-पांच उपयोगकर्ता न जुड़ जाएं. डेवलपर खाते (जिसके पास प्रोजेक्ट का मालिकाना हक है) को स्ट्रक्चर के लिए, पांच उपयोगकर्ताओं की सीमा में नहीं गिना जाता.
इसके उलट, अगर किसी प्रोजेक्ट में पांच से ज़्यादा स्ट्रक्चर में 15 उपयोगकर्ता हैं, तो अतिरिक्त उपयोगकर्ताओं को सिर्फ़ मौजूदा पांच स्ट्रक्चर में जोड़ा जा सकता है. ऐसा इसलिए, क्योंकि स्ट्रक्चर की सीमा पहले ही पूरी हो चुकी है.
सैंडबॉक्स की दर सीमाएं
सैंडबॉक्स में, तीन अलग-अलग लेवल पर दर की सीमा तय की जाती है. सीमाएं, हर मिनट की क्वेरी (क्यूपीएम) के हिसाब से सेट की जाती हैं. हालांकि, कुछ मामलों में ऐसा नहीं होता.
API स्तर
हर प्रोजेक्ट और हर उपयोगकर्ता के लिए, एपीआई कॉल की संख्या सीमित होती है. अलग-अलग तरीकों के बारे में ज़्यादा जानने के लिए, एपीआई रेफ़रंस देखें.
एपीआई मेथड | तय सीमा |
---|---|
devices.executeCommand |
10 क्यूपीएम |
devices.get |
10 क्यूपीएम |
devices.list |
5 QPM |
structures.get |
5 QPM |
structures.list |
5 QPM |
structures.rooms.get |
5 QPM |
structures.rooms.list |
5 QPM |
कमांड लेवल
हर विशेषता कमांड (devices.executeCommand
) के लिए, हर प्रोजेक्ट, हर उपयोगकर्ता, और हर डिवाइस के हिसाब से, हर मिनट में 5 क्वेरी की सीमा तय की गई है.
इसका मतलब है कि अगर किसी प्रोजेक्ट में दो उपयोगकर्ता हैं और उनके पास दो-दो डिवाइस हैं (कुल चार डिवाइस), तो उन चार डिवाइसों में से हर एक के लिए, एक मिनट में एक ही कमांड को पांच बार कॉल किया जा सकता है.
हालांकि, अगर किसी प्रोजेक्ट में दो उपयोगकर्ता हैं और हर उपयोगकर्ता के पास तीन डिवाइस हैं, तो कुल छह डिवाइसों के लिए, एक ही कमांड को एक मिनट में पांच बार नहीं बुलाया जा सकता. इससे हर उपयोगकर्ता के लिए 15 QPM हो जाएंगे, जबकि किसी प्रोजेक्ट के उपयोगकर्ता के लिए devices.executeCommand
एपीआई लेवल की दर सीमा 10 QPM है.
डिवाइस इंस्टेंस लेवल
इसके अलावा, डिवाइस की बैटरी को सुरक्षित रखने के लिए, डिवाइस इंस्टेंस लेवल की सीमाएं सभी प्रोजेक्ट और कमांड (devices.executeCommand
) पर लागू की जाती हैं. ये सीमाएं, QPM और QPH, दोनों लेवल पर लागू होती हैं. साथ ही, ये get
और list
एपीआई के तरीकों पर लागू नहीं होती हैं.
उदाहरण के लिए, मान लीजिए कि प्रोजेक्ट A और प्रोजेक्ट B, दोनों के पास एक ही डिवाइस, डिवाइस A का ऐक्सेस है. ऐसा हो सकता है कि उपयोगकर्ता ने दो अलग-अलग कमर्शियल इंटिग्रेशन को अनुमति दी हो, जो एक ही डिवाइस का इस्तेमाल करते हैं. अगर प्रोजेक्ट A ने एक मिनट में डिवाइस A को चार निर्देश भेजे हैं, तो प्रोजेक्ट B उस एक मिनट में डिवाइस A को सिर्फ़ एक निर्देश भेज सकता है. ऐसा तब तक किया जा सकता है, जब तक डिवाइस इंस्टेंस लेवल की दर सीमा पूरी नहीं हो जाती. इस समय, डिवाइस A को दोनों प्रोजेक्ट से मिलने वाले निर्देशों को तब तक थ्रॉटल किया जाता है, जब तक कि डिवाइस A को पहला निर्देश मिलने के बाद शुरू हुआ मिनट खत्म नहीं हो जाता.
अगर डिवाइस का कोई टाइप यहां नहीं दिया गया है, तो इसका मतलब है कि उस पर डिवाइस इंस्टेंस लेवल पर दर की सीमाएं लागू नहीं होती हैं.
डिवाइस का टाइप | डिवाइस इंस्टेंस की दर की सीमा |
---|---|
THERMOSTAT | 5 QPM या 100 QPH |
CAMERA | 30 QPM या 100 QPH |
दरवाज़े की घंटी | 30 QPM या 100 QPH |
गड़बड़ियां
इस गाइड से जुड़ी गड़बड़ियों के लिए, ये कोड दिख सकते हैं:
गड़बड़ी का मैसेज | RPC | समस्या का हल |
---|---|---|
तय सीमा पूरी हो चुकी है. | RESOURCE_EXHAUSTED |
हर डेवलपर के लिए एक कोटा तय होता है. इसके तहत, वह तय संख्या में ही कॉल कर सकता है. अगर आपने अपने कोटे से ज़्यादा कॉल किए हैं, तो आपको "दर सीमित की गई" मैसेज मिलेगा. इस समस्या को ठीक करने के लिए, कोटा खत्म होने के बाद कॉल को फिर से सबमिट करें. |
एपीआई वाली गड़बड़ियों के कोड की पूरी सूची देखने के लिए, एपीआई वाली गड़बड़ियों के कोड का रेफ़रंस देखें.