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

เหตุการณ์ไม่พร้อมกันและจัดการโดย 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 เปลี่ยนแปลง ระบบจะส่งเหตุการณ์สำหรับลักษณะTemperature พร้อมค่า ambientTemperatureCelsius ใหม่โดยอัตโนมัติ

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

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

ดูข้อความ

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

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

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

นอกจากนี้ คุณยังดูข้อความใน 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ได้ที่กิจกรรม