Fitur pesan will didefinisikan dalam MQTT 3.1.1. IoT Platform mendukung fitur ini saat Anda menghubungkan perangkat ke IoT Platform melalui MQTT 5.0. Topik ini menjelaskan tentang pesan will.
Informasi latar belakang
Pesan will
Pesan will dikirim ketika perangkat terhubung ke IoT Platform. Jika perangkat terputus dari IoT Platform dan gagal menyambung kembali dalam periode yang ditentukan oleh parameter Will Delay Interval, IoT Platform akan menerbitkan pesan will tersebut kepada subscriber atas nama perangkat. Nilai default parameter Will Delay Interval adalah 0.
Konten pesan will mirip dengan pesan umum yang dikirim oleh perangkat, mencakup nama topik, muatan, tingkat QoS, tag Retain, properti pengguna, dan interval kedaluwarsa pesan.
Perangkat dapat terputus dari server karena penyebab berikut:
Kegagalan atau fluktuasi jaringan. Jika perangkat tidak berkomunikasi dengan server dalam periode persistensi koneksi yang ditentukan, server akan menutup koneksi.
Terjadi pemadaman listrik pada perangkat. Server mengidentifikasi bahwa koneksi telah ditutup.
Koneksi ditutup oleh server ketika perangkat mencoba melakukan operasi yang tidak sah, misalnya berlangganan ke topik yang tidak memiliki izin.
Pesan will suatu perangkat dihapus dalam skenario berikut:
Setelah perangkat terputus secara terduga, pesan will dihapus.
Setelah perangkat terputus secara tak terduga dan IoT Platform menerbitkan pesan will atas nama perangkat, pesan will tersebut dihapus.
Jika Anda tidak mengonfigurasi parameter Message Expiry Interval untuk pesan will, pesan will akan dihapus setelah masa berlakunya habis.
Anda tidak dapat memperbarui pesan will.
Sesi yang kedaluwarsa tidak memengaruhi pesan will. Pesan will dapat diterbitkan terlepas dari status sesi.
Pesan will mendukung fitur kedaluwarsa pesan. Jika konten pesan kedaluwarsa dalam periode tertentu—misalnya, pesan yang terkait dengan pengendalian suhu—gunakan fitur pesan will bersama dengan fitur kedaluwarsa pesan. Untuk informasi selengkapnya, lihat Kedaluwarsa pesan.
Jika sinyal jaringan lemah atau koneksi jaringan tidak stabil, kami menyarankan Anda mengonfigurasi parameter
WillDelayIntervaluntuk mencegah pesan will sering didorong akibat perangkat yang sering terhubung dan terputus.
Skenario
Analisis pengecualian perangkat
Jika status perangkat yang terhubung ke IoT Platform berubah—misalnya, perangkat menjadi online atau offline—IoT Platform mendorong pesan terkait status perangkat ke server bisnis atau mesin aturan melalui topik berikut: /as/mqtt/status/${productKey}/${deviceName}. Pesan tersebut hanya mencakup informasi mengenai status koneksi perangkat. Jika Anda memerlukan data tambahan untuk analisis pengecualian perangkat, Anda dapat menggunakan pesan will, yang dapat mencakup informasi tambahan mengenai perangkat, seperti kondisi lingkungan.