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