กิจกรรมต่างๆ เป็นแบบอะซิงโครนัสและจัดการโดย 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 มีการเปลี่ยนแปลง ระบบจะส่งเหตุการณ์สําหรับลักษณะของอุณหภูมิอุณหภูมิ โดยอัตโนมัติพร้อมค่า ambientTemperatureCelsius
ใหม่
หากต้องการสร้างด้วยตนเอง ให้ทําอย่างใดอย่างหนึ่งต่อไปนี้
- เปลี่ยนสถานะอุปกรณ์ เช่น การเปลี่ยนโหมดของ Nest Thermostat
- ทริกเกอร์เหตุการณ์ เช่น การเคลื่อนไหว คน หรือเสียงใน Google Nest Cam Indoor
- เรียกใช้คําสั่งของอุปกรณ์ โดยใช้ SDM API
ดูข้อความ
คุณดูข้อความกิจกรรมได้ในโปรเจ็กต์ Google Cloud ในส่วนการสมัครใช้บริการ Pub/Sub ดังนี้
ไปที่การสมัครใช้บริการ Google Cloud Pub/Sub
- คลิกรหัสการสมัครใช้บริการที่คุณสร้างไว้ก่อนหน้านี้
- ในหน้าจอรายละเอียดการสมัครใช้บริการ คุณจะเห็นกิจกรรมสําหรับแผนภูมิจํานวนข้อความที่ไม่มีการรับทราบ ซึ่งเป็นการระบุว่าข้อความกิจกรรมผ่านไปแล้วสําหรับการสมัครรับข้อมูล หากคุณไม่เห็นกิจกรรมใดๆ ให้รอสักครู่ หรือสร้างกิจกรรมเพิ่มอีกเล็กน้อย
- คลิก ดูข้อความเพื่อเปิดแผงข้อความ
- คลิกดึงเพื่อดูข้อความ โดยควรตรงกับการดําเนินการที่ใช้ สร้างกิจกรรม
นอกจากนี้ยังดูข้อความใน 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ได้ที่เหตุการณ์