สมัครรับข้อมูลกิจกรรม

เหตุการณ์ไม่พร้อมกันและจัดการโดย Google Cloud Pub/Sub ในหัวข้อเดียวต่อ Projectกิจกรรมจะช่วยให้มีการอัปเดตสำหรับอุปกรณ์และโครงสร้างทั้งหมด รวมถึงการรับเหตุการณ์ตราบใดที่ผู้ใช้ไม่เพิกถอนโทเค็นเพื่อการเข้าถึงและข้อความเหตุการณ์ยังไม่หมดอายุ

เหตุการณ์คือฟีเจอร์เสริมของ SDM API ซึ่งคุณสามารถนำไปใช้และตรวจสอบได้อย่างง่ายดายโดยใช้โปรเจ็กต์ Google Cloud ของคุณ

เปิดใช้กิจกรรม

คุณเปิดใช้เหตุการณ์ได้ใน Device Access คอนโซล เลือก "โปรเจ็กต์" ในคอนโซล หากยังไม่ได้เลือก

ไปที่ Device Access คอนโซล

หากคุณเปิดใช้เหตุการณ์แล้ว (เช่น ระหว่างการสร้างโปรเจ็กต์) ช่องหัวข้อ Pub/Sub ในส่วนข้อมูลโปรเจ็กต์ควรมีค่าที่เรียกว่ารหัสหัวข้อในรูปแบบต่อไปนี้อยู่แล้ว

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

หากคุณไม่ได้เปิดใช้เหตุการณ์ ให้ทำดังนี้

  1. คลิกไอคอน สำหรับหัวข้อ Pub/Sub แล้วเลือกแก้ไข
  2. เลือกเปิดใช้กิจกรรม แล้วคลิกบันทึก
  3. ระบบจะสร้างรหัสหัวข้อให้คุณในรูปแบบที่แสดงข้างต้น

คัดลอกรหัสหัวข้อ คุณจะต้องใช้รหัสหัวข้อในการสร้างการสมัครใช้บริการหัวข้อดังกล่าวเพื่อให้ดึงข้อความเหตุการณ์ได้

สร้างการสมัครใช้บริการพุล

การสมัครใช้บริการพุลคือตำแหน่งที่ผู้สมัครใช้บริการเริ่มคำขอไปยังเซิร์ฟเวอร์ Pub/Sub สำหรับข้อความเหตุการณ์ที่อยู่ในคิว ซึ่งเป็นวิธีที่ง่ายและรวดเร็วในการยืนยันว่าระบบกำลังสร้างเหตุการณ์สำหรับอุปกรณ์ที่ได้รับอนุญาต

เปิด Cloud Shell สำหรับโปรเจ็กต์ Google Cloud ของคุณ

ไปที่ 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'

ระบบจะเผยแพร่เหตุการณ์สำหรับโครงสร้างและอุปกรณ์ทั้งหมดหลังจากการเรียก API นี้

สร้างเหตุการณ์

ระบบจะสร้างเหตุการณ์สำหรับการเปลี่ยนแปลงช่องลักษณะทั้งหมด โดยบางรายการจะเป็นแบบอัตโนมัติและด้วยตนเองบางส่วน

เช่น หากอุณหภูมิแวดล้อมใกล้กับ Nest Thermostat เปลี่ยนแปลงไป ระบบจะส่งเหตุการณ์สำหรับลักษณะอุณหภูมิ ด้วยค่า ambientTemperatureCelsius ใหม่โดยอัตโนมัติ

หากต้องการสร้างรหัสด้วยตนเอง ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

  1. เปลี่ยนสถานะของอุปกรณ์ เช่น เปลี่ยนโหมดของ Nest Thermostat
  2. ทริกเกอร์เหตุการณ์ เช่น การเคลื่อนไหว บุคคล หรือเสียงใน Google Nest Cam Indoor
  3. เรียกใช้คำสั่งของอุปกรณ์ โดยใช้ SDM API

ดูข้อความ

ดูข้อความกิจกรรมได้ในโปรเจ็กต์ Google Cloud ในส่วนการสมัครใช้บริการ Pub/Sub ดังนี้

ไปที่การสมัครใช้บริการ Google Cloud Pub/Sub

  1. คลิกรหัสการสมัครใช้บริการที่คุณสร้างไว้ก่อนหน้านี้
  2. ในหน้าจอรายละเอียดการสมัครรับข้อมูล คุณควรเห็นกิจกรรมในแผนภูมิจำนวนข้อความที่ไม่มีการสมัครรับข้อมูล ซึ่งหมายความว่ามี ข้อความเหตุการณ์ผ่านเข้ามาสำหรับการสมัครใช้บริการของคุณ หากคุณไม่เห็นกิจกรรมใดๆ ให้รอสักครู่ หรือสร้างเหตุการณ์เพิ่มอีก
  3. คลิกดูข้อความเพื่อเปิดแผงข้อความ
  4. คลิกดึงเพื่อดูข้อความ ค่าเหล่านี้ควรสอดคล้องกับ การดำเนินการที่คุณใช้สร้างเหตุการณ์

นอกจากนี้ คุณยังสามารถดูข้อความใน Cloud Shell ด้วยคำสั่ง pull พื้นฐาน ดังนี้

gcloud pubsub subscriptions pull subscription-id

ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทการสมัครใช้บริการ รวมถึงประเภทของเหตุการณ์ที่ส่งโดย SDM API และวิธีใช้ได้ที่เหตุการณ์

จัดการข้อความ

คุณควรรับทราบและลบข้อความออกเป็นประจำ เพื่อให้การสมัครใช้บริการสะอาดตาและหลีกเลี่ยงการส่งข้อความซ้ำถึงสมาชิกรายอื่น คุณสามารถลบข้อความการสมัครใช้บริการทั้งหมดออกอย่างถาวรได้ในส่วน "การสมัครใช้บริการ Pub/Sub" โดยทำดังนี้

ไปที่การสมัครใช้บริการ Google Cloud Pub/Sub

  1. คลิกรหัสการสมัครใช้บริการ
  2. คุณรับทราบและลบถาวรได้หลายวิธี ดังนี้
    1. คลิกดูข้อความเพื่อเปิดแผงข้อความ เลือกช่องทำเครื่องหมายเปิดใช้ข้อความการรับทราบ แล้วคลิกดึงเพื่อดูและรับทราบข้อความทั้งหมด
    2. คลิกล้างข้อความเพื่อลบข้อความที่มีอยู่ทั้งหมดออกถาวรด้วยการตอบรับโดยไม่ต้องดู คลิกเผยแพร่เพื่อยืนยัน

นอกจากนี้ คุณยังลบข้อความถาวรใน Cloud Shell โดยใช้แฟล็ก --auto-ack ด้วยคำสั่ง pull พื้นฐานได้ดังนี้

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

จัดการการสมัครใช้บริการ

การสมัครใช้บริการอาจกําหนดค่าได้หลายวิธี ดังที่อธิบายไว้ในการใช้พร็อพเพอร์ตี้การสมัครใช้บริการ

แม้ว่าวิธีที่คุณจะจัดการการสมัครรับข้อมูลและข้อความขึ้นอยู่กับคุณ แต่สำหรับแอปพลิเคชันเวอร์ชันที่ใช้งานจริง เราขอแนะนำให้ใช้บัญชีบริการสำหรับการตรวจสอบสิทธิ์ แทนที่จะใช้บัญชีผู้ใช้เหมือนที่คุณมีในคู่มือเริ่มใช้งานฉบับย่อนี้ แอปพลิเคชันหรือเครื่องเสมือนจะใช้บัญชีบริการ ไม่ใช่บุคคล และมีคีย์บัญชีเฉพาะของตนเอง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์บัญชีบริการด้วย Device Accessได้ที่เหตุการณ์