Berlangganan Acara

Peristiwa bersifat asinkron dan dikelola oleh Google Cloud Pub/Sub, dalam satu topik per Project. Peristiwa memberikan update untuk semua perangkat dan struktur, serta penerimaan peristiwa dijamin selama token akses tidak dicabut oleh pengguna dan masa berlaku pesan peristiwa belum berakhir.

Peristiwa adalah fitur opsional di SDM API. Layanan 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.

Buka Device Access Console

Jika Anda telah mengaktifkan peristiwa (misalnya, selama pembuatan project), kolom Topik Pub/Sub di bagian Info Project seharusnya sudah memiliki nilai, yang disebut ID Topik, dalam format:

projects/sdm-prod/topics/enterprise-project-id

Jika Anda belum mengaktifkan peristiwa:

  1. Klik ikon untuk topik Pub/Sub, lalu pilih Edit.
  2. Centang Aktifkan peristiwa, lalu klik Simpan.
  3. ID Topik dibuat untuk Anda dalam format yang ditunjukkan di atas.

Salin ID Topik, Anda akan membutuhkannya untuk membuat langganan topik sehingga pesan acara 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 dibuat untuk perangkat yang diotorisasi.

Buka Cloud Shell untuk project Google Cloud Anda:

Buka Google Cloud Shell

Pada perintah Cloud Shell, jalankan perintah berikut untuk membuat langganan pull ke topik Anda, 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].

Peristiwa awal

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 karakteristik, yang beberapa di antaranya bersifat otomatis, beberapa bersifat manual.

Misalnya, jika suhu ruangan di dekat Nest Thermostat berubah, peristiwa untuk fiturSuhu akan otomatis dikirim dengan nilai ambientTemperatureCelsius baru.

Untuk membuatnya secara manual:

  1. Mengubah status perangkat Anda secara fisik, seperti mengubah mode Nest Thermostat.
  2. Memicu peristiwa, seperti gerakan, orang, atau suara di Google Nest Cam Indoor.
  3. Menjalankan perintah perangkat menggunakan SDM API.

Melihat pesan

Pesan peristiwa dapat dilihat di project Google Cloud Anda, di bagian Subscription Pub/Sub:

Buka Langganan Google Cloud Pub/Sub

  1. Klik ID Langganan yang Anda buat sebelumnya.
  2. Di layar Detail langganan, Anda akan melihat aktivitas untuk diagram Jumlah pesan yang tidak dikonfirmasi. Hal ini menunjukkan bahwa pesan peristiwa untuk langganan Anda telah diterima. Jika Anda tidak melihat aktivitas apa pun, tunggu sebentar atau buat beberapa peristiwa lagi.
  3. Klik LIHAT PESAN untuk menampilkan panel Pesan.
  4. Klik TARIK untuk melihat pesan. Peristiwa 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 selengkapnya tentang jenis langganan, serta jenis peristiwa yang dikirim oleh SDM API dan cara menggunakannya, lihat Peristiwa.

Kelola pesan

Pesan harus dikonfirmasi dan dihapus secara teratur untuk menjaga langganan tetap bersih dan menghindari pengiriman pesan duplikat kepada pelanggan lain. Semua pesan langganan dapat dihapus permanen secara manual di bagian Langganan Pub/Sub:

Buka Langganan Google Cloud Pub/Sub

  1. Klik ID Langganan.
  2. Ada beberapa cara untuk mengonfirmasi dan menghapus permanen:
    1. Klik LIHAT PESAN untuk menampilkan panel Pesan. Centang kotak Enable ack messages, lalu klik PULL untuk melihat dan mengonfirmasi semua pesan.
    2. Klik PURGE MESSAGES untuk menghapus permanen semua pesan yang ada dengan mengonfirmasi tanpa melihatnya. Klik PURGE untuk mengonfirmasi.

Pesan juga dapat dihapus permanen di Cloud Shell menggunakan flag --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 dalam Menggunakan properti langganan.

Anda dapat menentukan cara mengelola langganan dan pesan, untuk aplikasi produksi, sebaiknya gunakan Akun layanan untuk autentikasi, bukan akun pengguna seperti yang Anda miliki sejauh ini dalam panduan memulai cepat ini. Akun layanan digunakan oleh aplikasi atau mesin virtual, bukan orang, dan memiliki kunci akun unik sendiri.

Untuk informasi selengkapnya tentang autentikasi akun layanan dengan Device Access, lihat Peristiwa.