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

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

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

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

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

Device Access Console पर जाएं

अगर आपने पहले ही इवेंट चालू कर दिए हैं (उदाहरण के लिए, प्रोजेक्ट बनाने के दौरान), प्रोजेक्ट की जानकारी सेक्शन में, 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. एसडीएम एपीआई का इस्तेमाल करके डिवाइस निर्देश दें.

मैसेज देखें

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

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

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

क्लाउड शेल में मैसेज को pull निर्देश के साथ भी देखा जा सकता है:

gcloud pubsub subscriptions pull subscription-id

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

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

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

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

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

बुनियादी 'pull निर्देश' से --auto-ack फ़्लैग का इस्तेमाल करके भी मैसेज को Cloud Shell में पूरी तरह मिटाया जा सकता है:

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

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

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

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

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