इवेंट के लिए सदस्यता लें

इवेंट एसिंक्रोनस होते हैं और हर Projectके लिए, किसी एक विषय के हिसाब से Google Cloud Pub/Sub मैनेज किए जाते हैं. सभी डिवाइसों और स्ट्रक्चर के लिए इवेंट से जुड़े अपडेट मिलते हैं. साथ ही, इवेंट की रसीद तब तक मौजूद रहती है, जब तक उपयोगकर्ता ऐक्सेस टोकन को रद्द नहीं करता और इवेंट के मैसेज की समयसीमा खत्म नहीं हो जाती.

इवेंट, एसडीएम एपीआई की एक वैकल्पिक सुविधा है. आपके Google Cloud प्रोजेक्ट का इस्तेमाल करके, उन्हें आसानी से लागू किया जा सकता है और उनकी पुष्टि की जा सकती है.

इवेंट सक्षम करें

इवेंट को Device Access कंसोल में चालू किया जा सकता है. अगर आपने अब तक कंसोल में अपना प्रोजेक्ट नहीं चुना है, तो उसे चुनें.

Device Access कंसोल पर जाएं

अगर आपने पहले से ही इवेंट (उदाहरण के लिए, प्रोजेक्ट बनाने के दौरान) चालू किए हैं, तो प्रोजेक्ट की जानकारी सेक्शन में मौजूद Pub/Sub विषय फ़ील्ड में इस फ़ॉर्मैट में पहले से ही एक वैल्यू होनी चाहिए, जिसे विषय आईडी कहा जाता है:

projects/sdm-prod/topics/enterprise-project-id

अगर आपने इवेंट चालू नहीं किए हैं, तो:

  1. Pub/Sub विषय के लिए आइकॉन पर क्लिक करें और बदलाव करें चुनें.
  2. इवेंट चालू करें पर सही का निशान लगाएं और सेव करें पर क्लिक करें.
  3. ऊपर दिखाए गए फ़ॉर्मैट में आपके लिए एक विषय आईडी जनरेट किया जाता है.

अपना विषय आईडी कॉपी करें. आपको विषय के लिए सदस्यता बनानी होगी, ताकि इवेंट के मैसेज वापस पाए जा सकें.

पुल सदस्यता बनाएं

पुल सदस्यता वह होती है जहां कोई सदस्य Pub/Sub सर्वर को सूची में शामिल इवेंट मैसेज के लिए अनुरोध भेजता है. इससे इस बात की पुष्टि होने का तेज़ और आसान तरीका है कि आपके अनुमति वाले डिवाइस के लिए इवेंट जनरेट किए जा रहे हैं.

अपने Google Cloud प्रोजेक्ट के लिए Cloud Shell खोलें:

Google Cloud Shell पर जाएं

Cloud Shell के प्रॉम्प्ट पर, अपनी पसंद के subscription-id और यूनीक टॉपिक आईडी का इस्तेमाल करके, अपने विषय के लिए पुल सदस्यता बनाने के लिए यहां दिया गया कमांड चलाएं:

gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].

इवेंट शुरू करना

Pub/Sub सदस्यता बनने के बाद, पहली बार इवेंट शुरू करने के लिए, एक बार इस्तेमाल होने वाले ट्रिगर के तौर पर अपने डिवाइसों को सूची में शामिल करने के लिए कॉल करें:

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

इस एपीआई कॉल के बाद, सभी स्ट्रक्चर और डिवाइस के इवेंट पब्लिश हो जाएंगे.

इवेंट जनरेट करें

विशेषता फ़ील्ड में होने वाले सभी बदलावों के लिए इवेंट जनरेट होते हैं. इनमें से कुछ बदलाव अपने-आप होते हैं और कुछ मैन्युअल.

उदाहरण के लिए, अगर आपके Nest Thermostat के आस-पास के माहौल में बदलाव होता है, तोतापमान एट्रिब्यूट के लिए इवेंट, ambientTemperatureCelsius की नई वैल्यू के साथ अपने-आप भेजा जाएगा.

मैन्युअल तरीके से जनरेट करने के लिए, इनमें से कोई एक तरीका अपनाएं:

  1. अपने डिवाइस की स्थिति बदलना, जैसे कि Nest Thermostat का मोड बदलना.
  2. Google Nest Cam इनडोर पर कोई इवेंट ट्रिगर करें, जैसे कि कोई हलचल, व्यक्ति या आवाज़.
  3. SDM API का इस्तेमाल करके, डिवाइस का निर्देश चलाएं.

मैसेज देखें

इवेंट के मैसेज, आपके Google Cloud प्रोजेक्ट के Pub/Sub सदस्यताएं सेक्शन में देखे जा सकते हैं:

Google Cloud Pub/Sub की सदस्यताओं पर जाएं

  1. उस सदस्यता आईडी पर क्लिक करें जिसे आपने पहले बनाया था.
  2. सदस्यता की जानकारी वाली स्क्रीन पर, आपको हैक नहीं किए गए मैसेज की संख्या चार्ट के लिए गतिविधि दिखेगी. इससे पता चलता है कि आपकी सदस्यता के लिए, इवेंट मैसेज भेजे गए हैं. अगर आपको कोई गतिविधि नहीं दिखती है, तो कुछ देर इंतज़ार करें या कुछ और इवेंट जनरेट करें.
  3. मैसेज पैनल को बड़ा करने के लिए, मैसेज देखें पर क्लिक करें.
  4. मैसेज देखने के लिए, खींचें पर क्लिक करें. वे इवेंट जनरेट करने के लिए इस्तेमाल की गई कार्रवाइयों से जुड़े होने चाहिए.

मैसेज को Cloud Shell में, बेसिक pull कमांड का इस्तेमाल करके भी देखा जा सकता है:

gcloud pubsub subscriptions pull subscription-id

सदस्यता के टाइप, एसडीएम एपीआई से भेजे गए इवेंट के टाइप और उन्हें इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, इवेंट देखें.

मैसेज मैनेज करें

मैसेज की नियमित तौर पर पुष्टि की जानी चाहिए और उन्हें पूरी तरह मिटा दिया जाना चाहिए. ऐसा करके, सदस्यता को सुरक्षित रखा जा सकता है. साथ ही, अन्य सदस्यों को डुप्लीकेट मैसेज डिलीवर होने से बचाया जा सकता है. सभी सदस्यता मैसेज को Pub/Sub सदस्यताएं सेक्शन में मैन्युअल तरीके से पूरी तरह मिटाया जा सकता है:

Google Cloud Pub/Sub की सदस्यताओं पर जाएं

  1. सदस्यता आईडी पर क्लिक करें.
  2. इसे स्वीकार करने और डेटा को मिटाने के कुछ तरीके यहां दिए गए हैं:
    1. मैसेज पैनल को बड़ा करने के लिए, मैसेज देखें पर क्लिक करें. ack मैसेज चालू करें चेकबॉक्स पर सही का निशान लगाएं. इसके बाद, सभी मैसेज देखने और स्वीकार करने के लिए, पुल पर क्लिक करें.
    2. सभी मौजूदा मैसेज को बिना देखे स्वीकार करके, पूरी तरह मिटाने के लिए, मैसेज पर जाएं पर क्लिक करें. पुष्टि करने के लिए, पार्स करें पर क्लिक करें.

मैसेज को Cloud Shell में भी पूरी तरह मिटाया जा सकता है. ऐसा करने के लिए, बेसिक pull कमांड के साथ --auto-ack फ़्लैग का इस्तेमाल किया जा सकता है:

gcloud pubsub subscriptions pull subscription-id --auto-ack

सदस्यताएं प्रबंधित करें

सदस्यताओं को कई तरीकों से कॉन्फ़िगर किया जा सकता है. इनके बारे में, सदस्यता प्रॉपर्टी का इस्तेमाल करना सेक्शन में बताया गया है.

सदस्यताओं और मैसेज को मैनेज करने का तरीका आपका होता है. हालांकि, हमारा सुझाव है कि प्रोडक्शन ऐप्लिकेशन के लिए, पुष्टि करने के लिए सेवा खातों का इस्तेमाल करें. क्विक स्टार्ट की इस गाइड में दिए गए उपयोगकर्ता खाते के बजाय, इसका इस्तेमाल करें. सेवा खाते का इस्तेमाल कोई व्यक्ति नहीं, बल्कि ऐप्लिकेशन या वर्चुअल मशीन करता है. साथ ही, इसकी अपनी खास खाता कुंजी होती है.

Device Accessके साथ सेवा खाते की पुष्टि करने के बारे में ज़्यादा जानकारी के लिए, इवेंट देखें.