เหตุการณ์ไม่พร้อมกันและจัดการโดย Google Cloud Pub/Sub ในหัวข้อเดียวต่อ Projectเหตุการณ์จะอัปเดตอุปกรณ์และโครงสร้างทั้งหมด และการรับเหตุการณ์จะได้รับการรับรองตราบใดที่ผู้ใช้ไม่ได้เพิกถอนโทเค็นการเข้าถึงและข้อความเหตุการณ์ยังไม่หมดอายุ
เหตุการณ์เป็นฟีเจอร์ที่ไม่บังคับของ SDM API ติดตั้งใช้งานและยืนยันได้อย่างง่ายดายโดยใช้โปรเจ็กต์ Google Cloud
เปิดใช้กิจกรรม
คุณเปิดใช้เหตุการณ์ได้ใน Device Access คอนโซล เลือกโปรเจ็กต์ในคอนโซล หากยังไม่ได้เลือก
หากคุณเปิดใช้เหตุการณ์แล้ว (เช่น ระหว่างการสร้างโปรเจ็กต์) ช่องหัวข้อ Pub/Sub ในส่วนข้อมูลโปรเจ็กต์ควรมีค่าอยู่แล้ว ซึ่งเรียกว่ารหัสหัวข้อ โดยมีรูปแบบดังนี้
projects/sdm-prod/topics/enterprise-project-id
หากยังไม่ได้เปิดใช้เหตุการณ์ ให้ทำดังนี้
- คลิกไอคอน สำหรับหัวข้อ Pub/Sub แล้วเลือกแก้ไข
- เลือกเปิดใช้เหตุการณ์ แล้วคลิกบันทึก
- ระบบจะสร้างรหัสหัวข้อให้คุณในรูปแบบที่แสดงด้านบน
คัดลอกรหัสหัวข้อ คุณต้องใช้รหัสนี้เพื่อสร้างการสมัครรับข้อมูลหัวข้อเพื่อให้ดึงข้อความเหตุการณ์ได้
สร้างการสมัครใช้บริการแบบพุล
การสมัครใช้บริการแบบดึงคือการที่สมาชิกเริ่มคําขอไปยังเซิร์ฟเวอร์ Pub/Sub สําหรับข้อความเหตุการณ์ที่รอดำเนินการ วิธีนี้เป็นวิธีที่ง่ายและรวดเร็วในการยืนยันว่าระบบกำลังสร้างเหตุการณ์สำหรับอุปกรณ์ที่ได้รับอนุญาต
เปิด Cloud Shell สําหรับโปรเจ็กต์ Google Cloud
ที่พรอมต์ 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
ใหม่โดยอัตโนมัติ
หากต้องการสร้างด้วยตนเอง ให้ทําอย่างใดอย่างหนึ่งต่อไปนี้
- เปลี่ยนสถานะของอุปกรณ์ เช่น เปลี่ยนโหมดของ Nest Thermostat
- ทริกเกอร์เหตุการณ์ เช่น การเคลื่อนไหว คน หรือเสียงใน Google Nest Cam Indoor
- เรียกใช้คำสั่งของอุปกรณ์ โดยใช้ SDM API
ดูข้อความ
คุณดูข้อความเหตุการณ์ได้ในโปรเจ็กต์ Google Cloud ในส่วนการสมัครใช้บริการ Pub/Sub โดยทำดังนี้
ไปที่การสมัครใช้บริการ Google Cloud Pub/Sub
- คลิกรหัสการสมัครใช้บริการที่คุณสร้างไว้ก่อนหน้านี้
- ในหน้าจอรายละเอียดการติดตาม คุณควรเห็นกิจกรรมของแผนภูมิจํานวนข้อความที่ยังไม่ได้ตอบ ซึ่งหมายความว่าข้อความเหตุการณ์มาถึงการสมัครใช้บริการของคุณแล้ว หากคุณไม่เห็นกิจกรรมใดๆ ให้รอสักครู่ หรือสร้างเหตุการณ์เพิ่มอีก
- คลิก ดูข้อความเพื่อเปิดแผงข้อความ
- คลิกPULLเพื่อดูข้อความ ซึ่งควรสอดคล้องกับการดําเนินการที่คุณใช้สร้างเหตุการณ์
นอกจากนี้ คุณยังดูข้อความใน Cloud Shell ได้ด้วยคำสั่ง pull
พื้นฐาน ดังนี้
gcloud pubsub subscriptions pull subscription-id
ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทการสมัครใช้บริการ รวมถึงประเภทเหตุการณ์ที่ SDM API ส่งและวิธีใช้ได้ที่เหตุการณ์
จัดการข้อความ
คุณควรรับทราบและล้างข้อความเป็นประจำเพื่อให้การสมัครใช้บริการสะอาดและหลีกเลี่ยงการส่งข้อความซ้ำไปยังผู้สมัครใช้บริการรายอื่น คุณล้างข้อความการสมัครใช้บริการทั้งหมดด้วยตนเองได้ในส่วนการสมัครใช้บริการ Pub/Sub โดยทำดังนี้
ไปที่การสมัครใช้บริการ Google Cloud Pub/Sub
- คลิกรหัสการสมัครใช้บริการ
- คุณรับทราบและลบถาวรได้หลายวิธี ดังนี้
- คลิก ดูข้อความเพื่อเปิดแผงข้อความ เลือกช่องทําเครื่องหมายเปิดใช้ข้อความตอบกลับ แล้วคลิกพุลเพื่อดูและรับทราบข้อความทั้งหมด
- คลิก ล้างข้อความเพื่อลบข้อความที่มีอยู่ทั้งหมดออกถาวรด้วยการตอบรับโดยไม่ต้องดู คลิกล้างเพื่อยืนยัน
นอกจากนี้ คุณยังลบข้อความถาวรใน Cloud Shell โดยใช้แฟล็ก --auto-ack
ด้วยคำสั่ง pull
พื้นฐานได้ดังนี้
gcloud pubsub subscriptions pull subscription-id --auto-ack
จัดการการสมัครใช้บริการ
การสมัครใช้บริการอาจกําหนดค่าได้หลายวิธี ดังที่อธิบายไว้ในการใช้พร็อพเพอร์ตี้การสมัครใช้บริการ
แม้ว่าคุณจะจัดการการติดตามและข้อความอย่างไรก็ได้ แต่สำหรับแอปพลิเคชันเวอร์ชันที่ใช้งานจริง เราขอแนะนำให้ใช้บัญชีบริการสำหรับการตรวจสอบสิทธิ์แทนบัญชีผู้ใช้ที่คุณใช้มาจนถึงตอนนี้ในคู่มือเริ่มต้นใช้งานฉบับย่อนี้ แอปพลิเคชันหรือเครื่องเสมือนจะใช้บัญชีบริการ ไม่ใช่บุคคล และมีคีย์บัญชีเฉพาะของตนเอง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์บัญชีบริการด้วย Device Accessได้ที่กิจกรรม