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