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

กิจกรรมต่างๆ เป็นแบบอะซิงโครนัสและจัดการโดย 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ได้ที่เหตุการณ์