Topik MQTT - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Topik MQTT

Topik MQTT mengidentifikasi pesan. AWS IoT AWS IoT klien mengidentifikasi pesan yang mereka terbitkan dengan memberikan nama topik pesan. Klien mengidentifikasi pesan yang ingin mereka berlangganan (terima) dengan mendaftarkan filter topik AWS IoT Core. Broker pesan menggunakan nama topik dan filter topik untuk merutekan pesan dari klien penerbitan ke klien berlangganan.

Broker pesan menggunakan topik untuk mengidentifikasi pesan yang dikirim menggunakan MQTT dan dikirim menggunakan HTTP ke. URL pesan HTTPS

Sementara AWS IoT mendukung beberapa topik sistem cadangan, sebagian besar topik MQTT dibuat dan dikelola oleh Anda, perancang sistem. AWS IoT menggunakan topik untuk mengidentifikasi pesan yang diterima dari klien penerbitan dan memilih pesan untuk dikirim ke klien berlangganan, seperti yang dijelaskan di bagian berikut. Sebelum Anda membuat namespace topik untuk sistem Anda, tinjau karakteristik topik MQTT untuk membuat hierarki nama topik yang paling sesuai untuk sistem IoT Anda.

Nama topik

Nama topik dan filter topik adalah string yang dikodekan UTF-8. Mereka dapat mewakili hierarki informasi dengan menggunakan karakter garis miring maju (/) untuk memisahkan tingkat hierarki. Misalnya, nama topik ini bisa merujuk ke sensor suhu di ruangan 1:

  • sensor/temperature/room1

Dalam contoh ini, mungkin juga ada jenis sensor lain di ruangan lain dengan nama topik seperti:

  • sensor/temperature/room2

  • sensor/humidity/room1

  • sensor/humidity/room2

catatan

Saat Anda mempertimbangkan nama topik untuk pesan di sistem Anda, ingatlah:

  • Nama topik dan filter topik peka huruf besar/kecil.

  • Nama topik tidak boleh berisi informasi yang dapat diidentifikasi secara pribadi.

  • Nama topik yang dimulai dengan $ adalah topik yang dicadangkan untuk digunakan hanya oleh AWS IoT Core.

  • AWS IoT Core tidak dapat mengirim atau menerima pesan antara Akun AWS s atau Wilayah.

Untuk informasi selengkapnya tentang mendesain nama topik dan namespace Anda, lihat whitepaper kami, Merancang Topik MQTT untuk. AWS IoT Core

Untuk contoh bagaimana aplikasi dapat mempublikasikan dan berlangganan pesan, mulailah dengan Memulai dengan AWS IoT Core danAWS IoT SDK Perangkat, SDK Seluler, dan AWS IoT Klien Perangkat.

penting

Namespace topik terbatas pada Akun AWS dan Wilayah. Misalnya, sensor/temp/room1 topik yang digunakan oleh Akun AWS dalam satu Wilayah berbeda dari sensor/temp/room1 topik yang digunakan oleh AWS akun yang sama di Wilayah lain atau digunakan oleh orang lain Akun AWS di Wilayah mana pun.

Topik ARN

Semua topik ARN (Nama Sumber Daya Amazon) memiliki formulir berikut:

arn:aws:iot:aws-region:AWS-account-ID:topic/Topic

Misalnya, arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor adalah ARN untuk topik tersebut. application/topic/device/sensor

Filter topik

Klien berlangganan mendaftarkan filter topik dengan broker pesan untuk menentukan topik pesan yang harus dikirim oleh broker pesan kepada mereka. Filter topik dapat berupa nama topik tunggal untuk berlangganan satu nama topik atau dapat menyertakan karakter wildcard untuk berlangganan beberapa nama topik secara bersamaan.

Klien penerbitan tidak dapat menggunakan karakter wildcard dalam nama topik yang mereka terbitkan.

Tabel berikut mencantumkan karakter wildcard yang dapat digunakan dalam filter topik.

Wildcard topik
Karakter wildcard Pertandingan Catatan
# Semua string di dan di bawah levelnya dalam hierarki topik.

Harus menjadi karakter terakhir dalam filter topik.

Harus menjadi satu-satunya karakter dalam tingkat hierarki topiknya.

Dapat digunakan dalam filter topik yang juga berisi karakter wildcard +.

+ String apa pun di level yang berisi karakter.

Harus menjadi satu-satunya karakter dalam tingkat hierarki topiknya.

Dapat digunakan di berbagai tingkatan filter topik.

Menggunakan wildcard dengan contoh nama topik sensor sebelumnya:

  • Langganan untuk sensor/# menerima pesan yang dipublikasikan kesensor/, sensor/temperaturesensor/temperature/room1, tetapi bukan pesan yang dipublikasikan kesensor.

  • Langganan untuk sensor/+/room1 menerima pesan yang dipublikasikan ke sensor/temperature/room1 dansensor/humidity/room1, tetapi bukan pesan yang dikirim ke sensor/temperature/room2 atausensor/humidity/room2.

Filter topik ARN

Semua filter topik ARN (Nama Sumber Daya Amazon) memiliki formulir berikut:

arn:aws:iot:aws-region:AWS-account-ID:topicfilter/TopicFilter

Misalnya, arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor adalah ARN untuk filter topik. application/topic/+/sensor