Peristiwa bersifat asinkron dan dikelola oleh Google Cloud Pub/Sub, dalam satu topik per Project. Peristiwa memberikan pembaruan untuk semua perangkat, struktur, dan penerimaan peristiwa dijamin selama token akses tidak dicabut oleh pengguna dan pesan peristiwa belum habis masa berlakunya.
Peristiwa adalah fitur opsional SDM API. Fungsi ini dapat diimplementasikan dan diverifikasi dengan mudah menggunakan project Google Cloud Anda.
Aktifkan acara
Peristiwa dapat diaktifkan di Device Access Konsol. Pilih Project Anda di Konsol, jika Anda belum melakukannya.
Jika Anda telah mengaktifkan peristiwa (misalnya, selama pembuatan project), kolom Topik Pub/Sub di bagian Project Info seharusnya sudah memiliki nilai, yang disebut ID Topik, dalam format:
projects/sdm-prod/topics/enterprise-project-id
Jika Anda belum mengaktifkan acara:
- Klik ikon untuk topik Pub/Sub, lalu pilih Edit.
- Centang Aktifkan acara, lalu klik Simpan.
- ID Topik akan dibuat untuk Anda dalam format yang ditampilkan di atas.
Salin ID Topik Anda, Anda memerlukannya untuk membuat langganan ke topik agar pesan peristiwa dapat diambil.
Membuat langganan pull
Langganan pull adalah tempat pelanggan memulai permintaan ke server Pub/Sub untuk pesan peristiwa dalam antrean. Ini adalah cara cepat dan mudah untuk memverifikasi bahwa peristiwa dihasilkan untuk perangkat Anda yang diotorisasi.
Buka Cloud Shell untuk project Google Cloud Anda:
Pada prompt Cloud Shell, jalankan perintah berikut untuk membuat langganan pull ke topik Anda, menggunakan subscription-id apa pun yang Anda inginkan dan ID Topik unik Anda:
gcloud pubsub subscriptions create subscription-id --topic=projects/sdm-prod/topics/enterprise-project-id
Created subscription [projects/gcp-project-name/subscriptions/subscription-id].
Memulai peristiwa
Untuk memulai peristiwa pertama kalinya setelah langganan Pub/Sub dibuat, lakukan panggilan untuk mencantumkan perangkat Anda sebagai pemicu satu kali:
curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer access-token'
Peristiwa untuk semua struktur dan perangkat akan dipublikasikan setelah panggilan API ini.
Membuat peristiwa
Peristiwa dibuat untuk semua perubahan kolom ciri, beberapa di antaranya otomatis, beberapa manual.
Misalnya, jika suhu ruangan di dekat
Nest Thermostat berubah, peristiwa untuk karakteristik
Temperature akan
otomatis dikirim dengan nilai ambientTemperatureCelsius
baru.
Untuk membuatnya secara manual, lakukan salah satu tindakan berikut:
- Mengubah status perangkat secara fisik, seperti mengubah mode Nest Thermostat.
- Memicu peristiwa, seperti gerakan, orang, atau suara di Google Nest Cam Indoor.
- Menjalankan perintah perangkat menggunakan SDM API.
Melihat pesan
Pesan peristiwa dapat dilihat di project Google Cloud Anda, di bagian Langganan Pub/Sub:
Buka Langganan Google Cloud Pub/Sub
- Klik ID Langganan yang Anda buat sebelumnya.
- Di layar Detail langganan, Anda akan melihat aktivitas untuk diagram Jumlah pesan yang tidak dikonfirmasi. Hal ini menunjukkan bahwa pesan peristiwa telah dikirim untuk langganan Anda. Jika Anda tidak melihat aktivitas apa pun, tunggu sebentar atau buat beberapa peristiwa lainnya.
- Klik LIHAT PESAN untuk memunculkan panel Pesan.
- Klik PULL untuk melihat pesan. Tindakan ini harus sesuai dengan tindakan yang Anda gunakan untuk membuat peristiwa.
Pesan juga dapat dilihat di Cloud Shell dengan perintah pull
dasar:
gcloud pubsub subscriptions pull subscription-id
Untuk mengetahui informasi selengkapnya tentang jenis langganan, serta jenis peristiwa yang dikirim oleh SDM API dan cara menggunakannya, lihat Peristiwa.
Kelola pesan
Pesan harus dikonfirmasi dan dihapus permanen secara berkala, untuk menjaga langganan tetap bersih dan menghindari pengiriman pesan duplikat ke pelanggan lain. Semua pesan langganan dapat dihapus permanen secara manual di bagian Langganan Pub/Sub:
Buka Langganan Google Cloud Pub/Sub
- Klik ID Langganan.
- Ada beberapa cara untuk mengonfirmasi dan menghapus:
- Klik LIHAT PESAN untuk memunculkan panel Pesan. Centang kotak Enable ack messages, lalu klik PULL untuk melihat dan mengonfirmasi semua pesan.
- Klik HAPUS PESAN untuk menghapus semua pesan yang ada dengan mengonfirmasinya tanpa melihatnya. Klik PURGE untuk mengonfirmasi.
Pesan juga dapat dihapus di Cloud Shell menggunakan flag --auto-ack
dengan perintah pull
dasar:
gcloud pubsub subscriptions pull subscription-id --auto-ack
Kelola langganan
Langganan dapat dikonfigurasi dengan berbagai cara, seperti yang dijelaskan dalam Menggunakan properti langganan.
Meskipun cara Anda mengelola langganan dan pesan adalah keputusan Anda, untuk aplikasi produksi, sebaiknya gunakan Akun layanan untuk autentikasi, bukan akun pengguna seperti yang Anda miliki sejauh ini dalam panduan mulai cepat ini. Akun layanan digunakan oleh aplikasi atau virtual machine, bukan seseorang, dan memiliki kunci akun unik sendiri.
Untuk informasi selengkapnya tentang autentikasi akun layanan dengan Device Access, lihat Peristiwa.