Peristiwa asinkron dan dikelola oleh Google Cloud Pub/Sub, dalam satu topik sesuai Project. Peristiwa memberikan pembaruan untuk semua perangkat dan struktur serta tanda terima peristiwa dijamin selama token akses tidak dicabut oleh pengguna dan pesan peristiwa belum kedaluwarsa.
Peristiwa adalah fitur opsional SDM API. Mereka dapat mudah diimplementasikan dan diverifikasi menggunakan proyek.
Aktifkan acara
Acara dapat diaktifkan di Device Access Konsol. Pilih Project Anda di Konsol Google Cloud, jika Anda belum melakukannya.
Jika Anda sudah mengaktifkan peristiwa (misalnya, selama project pembuatan konten), kolom Pub/Sub topic di bagian Project Info harus sudah memiliki , yang disebut ID Topik, dalam format:
projects/sdm-prod/topics/enterprise-project-id
Jika Anda belum mengaktifkan acara:
- Klik ikon untuk Pub/Sub topik, lalu pilih Edit.
- Centang Aktifkan acara, lalu klik Simpan.
- ID Topik dibuat untuk Anda dalam format yang ditampilkan di atas.
Salin ID Topik Anda, Anda akan membutuhkannya untuk membuat langganan ke topik agar pesan peristiwa dapat diambil.
Membuat langganan pull
Langganan pull adalah tempat pelanggan memulai permintaan ke Pub/Sub server untuk pesan peristiwa dalam antrean. Ini adalah cara cepat dan mudah untuk memastikan bahwa peristiwa dibuat untuk perangkat Anda yang diberi otorisasi.
Buka Cloud Shell untuk project Google Cloud Anda:
Pada prompt Cloud Shell, jalankan perintah berikut untuk membuat pull berlangganan ke topik, menggunakan subscription-id apa pun yang Anda sukai 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 isian fitur, beberapa di antaranya otomatis, beberapa manual.
Misalnya, jika suhu ruangan di dekat Anda
Nest Thermostat berubah, peristiwa untuk
SifatSuhu akan
dikirim secara otomatis dengan nilai ambientTemperatureCelsius
baru.
Untuk membuatnya secara manual:
- Mengubah status perangkat Anda secara fisik, seperti mengubah mode Nest Thermostat Anda.
- Memicu peristiwa, seperti gerakan, orang, atau suara pada Google Nest Cam Indoor.
- Menjalankan perintah perangkat menggunakan SDM API.
Melihat pesan
Pesan acara 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 ditandai. Ini menunjukkan bahwa pesan peristiwa telah datang untuk langganan Anda. Jika Anda tidak melihat aktivitas apa pun, tunggu sebentar sementara atau menghasilkan beberapa peristiwa lainnya.
- Klik LIHAT PESAN untuk menampilkan panel Pesan.
- Klik TARIK untuk melihat pesan. Judul tersebut harus sesuai dengan tindakan yang Anda gunakan untuk menghasilkan peristiwa.
Pesan juga dapat dilihat di Cloud Shell dengan perintah pull
dasar:
gcloud pubsub subscriptions pull subscription-id
Untuk informasi lebih lanjut tentang jenis langganan, serta jenis peristiwa yang dikirim oleh SDM API dan cara menggunakannya. Lihat Acara.
Kelola pesan
Pesan harus dikonfirmasi dan dihapus secara berkala, untuk terus berlangganan rapi dan menghindari duplikasi pengiriman pesan ke pelanggan lain. Semua pesan langganan dapat dihapus secara manual di Langganan Pub/Sub :
Buka Langganan Google Cloud Pub/Sub
- Klik ID Langganan.
- Ada beberapa cara untuk mengonfirmasi dan menghapus permanen:
- Klik LIHAT PESAN untuk menampilkan panel Pesan. Centang kotak Enable ack messages kotak centang dan klik TARIK untuk melihat dan menyetujui semua pesan.
- Klik HAPUS MESSAGE untuk menghapus semua pesan yang ada dengan mengonfirmasi tanpa melihatnya. Klik HAPUS untuk mengonfirmasi.
Pesan juga dapat dihapus permanen di Cloud Shell menggunakan tanda --auto-ack
dengan
perintah pull
dasar:
gcloud pubsub subscriptions pull subscription-id --auto-ack
Kelola langganan
Langganan dapat dikonfigurasi dalam berbagai cara, seperti yang dijelaskan di Menggunakan properti langganan.
Meskipun cara Anda ingin mengelola langganan dan pesan menjadi keputusan Anda, aplikasi produksi kami sarankan agar Anda menggunakan Akun layanan untuk otentikasi, alih-alih akun pengguna seperti yang Anda miliki sejauh ini dalam memulai panduan. Akun layanan digunakan oleh aplikasi atau mesin virtual, bukan seseorang, dan memiliki kunci akun uniknya sendiri.
Untuk mengetahui informasi selengkapnya tentang autentikasi akun layanan dengan Device Access, lihat Acara.