Jembatan MQTT - AWS IoT Greengrass

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

Jembatan MQTT

Komponen jembatan MQTT (aws.greengrass.clientdevices.mqtt.Bridge) menyampaikan pesan MQTT antara perangkat klien, penerbitan/berlangganan Greengrass lokal, dan. AWS IoT Core Anda dapat menggunakan komponen ini untuk bertindak atas pesan MQTT dari perangkat klien komponen kustom dan mensinkronisasi perangkat klien dengan AWS Cloud.

catatan

Perangkat klien adalah perangkat IoT lokal yang terhubung ke perangkat inti Greengrass untuk mengirim pesan MQTT dan data yang akan diproses. Untuk informasi selengkapnya, lihat Berinteraksilah dengan perangkat IoT lokal.

Anda dapat menggunakan komponen ini untuk merelai pesan antara broker-broker pesan berikut:

  • MQTT lokal - Broker MQTT lokal menangani pesan antara perangkat klien dan perangkat inti.

  • Publikasi/berlangganan lokal - Broker pesan Greengrass lokal menangani pesan antar komponen pada perangkat inti. Untuk informasi lebih lanjut tentang cara berinteraksi dengan pesan-pesan ini dalam komponen Greengrass, lihat.Pesan lokal publikasi/berlangganan.

  • AWS IoT Core — Pialang AWS IoT Core MQTT menangani pesan antara perangkat dan tujuan IoT. AWS Cloud Untuk informasi lebih lanjut tentang cara berinteraksi dengan pesan-pesan ini dalam komponen Greengrass, lihat.Terbitkan/berlangganan pesan MQTT AWS IoT Core.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

Versi

Komponen ini memiliki versi berikut:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Jenis

Komponen ini adalah komponen plugin (aws.greengrass.plugin). Inti Greengrass menjalankan komponen plugin dalam Java Virtual Machine (JVM) yang sama sebagai inti. Nukleus dimulai ulang saat Anda mengubah versi komponen ini di perangkat inti.

Komponen plugin menggunakan file log yang sama seperti inti Greengrass. Untuk informasi selengkapnya, lihat Memantau AWS IoT Greengrass log.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:

  • Linux

  • Windows

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

  • Jika Anda mengonfigurasi komponen broker MQTT perangkat inti untuk menggunakan port selain port default 8883, Anda harus menggunakan jembatan MQTT v2.1.0 atau yang lebih baru. Konfigurasikan untuk terhubung di port tempat broker beroperasi.

  • Komponen jembatan MQTT didukung untuk berjalan di VPC.

Dependensi

Saat Anda menerapkan komponen, gunakan AWS IoT Greengrass juga versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.3.2

Tabel berikut mencantumkan dependensi untuk versi 2.3.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.2.0 <2.6.0 Keras
2.3.0 and 2.3.1

Tabel berikut mencantumkan dependensi untuk versi 2.3.0 dan 2.3.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.2.0 <2.5.0 Keras
2.2.5 and 2.2.6

Tabel berikut mencantumkan dependensi untuk versi 2.2.5 dan 2.2.6 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.2.0 <2.5.0 Keras
2.2.3 and 2.2.4

Tabel berikut mencantumkan dependensi untuk versi 2.2.3 dan 2.2.4 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.2.0 <2.4.0 Keras
2.2.0 – 2.2.2

Tabel berikut mencantumkan dependensi untuk versi 2.2.0 hingga 2.2.2 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.2.0 <2.3.0 Keras
2.1.1

Tabel berikut mencantumkan dependensi untuk versi 2.1.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.0.0 <2.2.0 Keras
2.0.0 to 2.1.0

Tabel berikut mencantumkan dependensi untuk versi 2.0.0 hingga 2.1.0 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Autentikasi perangkat klien >=2.0.0 <2.1.0 Keras

Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

2.3.0 – 2.3.2
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKunci dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

mqtt5 RouteOptions

(Opsional) Menyediakan opsi untuk mengonfigurasi pemetaan topik untuk menjembatani pesan dari topik sumber ke topik tujuan.

Objek ini berisi informasi berikut:

mqtt5 RouteOptionsNameKey

Nama opsi rute untuk pemetaan topik. Ganti mqtt5 RouteOptionsNameKey dengan topicMappingNameKunci yang cocok yang ditentukan di lapangan. mqttTopicMapping

Objek ini berisi informasi berikut:

NoLokal

(Opsional) Saat diaktifkan, bridge tidak meneruskan pesan pada topik yang dipublikasikan oleh bridge itu sendiri. Gunakan ini untuk mencegah loop, sebagai berikut:

{ "mqtt5RouteOptions": { "toIoTCore": { "noLocal": true } }, "mqttTopicMapping": { "toIoTCore": { "topic": "device", "source": "LocalMqtt", "target": "IotCore" }, "toLocal": { "topic": "device", "source": "IotCore", "target": "LocalMqtt" } } }

noLocalhanya didukung untuk rute di mana source beradaLocalMqtt.

Bawaan: salah

retainAsPublished

(Opsional) Saat diaktifkan, pesan yang diteruskan oleh jembatan memiliki retain tanda yang sama dengan pesan yang dipublikasikan ke broker untuk rute tersebut.

retainAsPublishedhanya didukung untuk rute di mana source beradaLocalMqtt.

Bawaan: salah

mqtt

(Opsional) Pengaturan protokol MQTT untuk berkomunikasi dengan broker lokal.

versi

(Opsional) Versi protokol MQTT yang digunakan oleh jembatan untuk berkomunikasi dengan broker lokal. Harus sama dengan versi MQTT yang dipilih dalam konfigurasi nukleus.

Pilih dari yang berikut ini:

  • mqtt3

  • mqtt5

Anda harus menggunakan broker MQTT ketika target bidang source atau mqttTopicMapping objek diatur ke. LocalMqtt Jika Anda memilih mqtt5 opsi, Anda harus menggunakanPialang MQTT 5 (EMQX).

Default: mqtt3

ackTimeoutSeconds

(Opsional) Interval waktu untuk menunggu paket PUBACK, SUBACK, atau UNSUBACK sebelum gagal operasi.

Default: 60

connAckTimeoutNona

(Opsional) Interval waktu untuk menunggu paket CONNACK sebelum mematikan koneksi.

Default: 20000 (20 detik)

pingTimeoutMs

(Opsional) Jumlah waktu dalam milidetik jembatan menunggu untuk menerima pesan PINGACK dari broker lokal. Jika menunggu melebihi batas waktu, jembatan ditutup kemudian membuka kembali koneksi MQTT. Nilai ini harus kurang darikeepAliveTimeoutSeconds.

Default: 30000 (30 detik)

keepAliveTimeoutDetik

(Opsional) Jumlah waktu dalam detik antara setiap pesan PING yang dikirim jembatan untuk menjaga koneksi MQTT tetap hidup. Nilai ini harus lebih besar daripingTimeoutMs.

Default: 60

maxReconnectDelayNona

(Opsional) Jumlah waktu maksimum dalam hitungan detik agar MQTT terhubung kembali.

Default: 30000 (30 detik)

minReconnectDelayNona

(Opsional) Jumlah waktu minimum dalam hitungan detik agar MQTT terhubung kembali.

ReceiveMaximum

(Opsional) Jumlah maksimum paket QoS1 yang tidak diakui yang dapat dikirim oleh jembatan.

Default: 100

maximumPacketSize

Jumlah maksimum byte yang akan diterima klien untuk paket MQTT.

Default: null (Tidak ada batas)

sessionExpiryInterval

(Opsional) Jumlah waktu dalam hitungan detik Anda dapat meminta sesi berlangsung antara jembatan dan broker lokal.

Default: 4294967295 (sesi tidak pernah kedaluwarsa)

brokerUri

(Opsional) URI dari broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:. ssl://localhost:port

Default: ssl://localhost:8883

startupTimeoutSeconds

(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi BROKEN jika melebihi batas waktu ini.

Default: 120

contoh Contoh: Pembaruan gabungan konfigurasi

Berikut contoh update konfigurasi menentukan berikut:

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Relay pesan dari perangkat klien ke publish/subscribe lokal pada topik yang cocok dengan filter clients/+/detections topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan-pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
contoh Contoh: Mengkonfigurasi MQTT 5

Contoh konfigurasi berikut memperbarui yang berikut ini:

  • Memungkinkan jembatan untuk menggunakan protokol MQTT 5 dengan broker lokal.

  • Mengkonfigurasi penyimpanan MQTT sebagai pengaturan yang dipublikasikan untuk pemetaan topik. ClientDeviceHelloWorld

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } }, "mqtt5RouteOptions": { "ClientDeviceHelloWorld": { "retainAsPublished": true } }, "mqtt": { "version": "mqtt5" } }
2.2.6
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKunci dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI dari broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:. ssl://localhost:port

Default: ssl://localhost:8883

startupTimeoutSeconds

(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi BROKEN jika melebihi batas waktu ini.

Default: 120

contoh Contoh: Pembaruan gabungan konfigurasi

Berikut contoh update konfigurasi menentukan berikut:

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Relay pesan dari perangkat klien ke publish/subscribe lokal pada topik yang cocok dengan filter clients/+/detections topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan-pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.2.0 - 2.2.5
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKunci dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI dari broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:. ssl://localhost:port

Default: ssl://localhost:8883

contoh Contoh: Pembaruan gabungan konfigurasi

Berikut contoh update konfigurasi menentukan berikut:

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Relay pesan dari perangkat klien ke publish/subscribe lokal pada topik yang cocok dengan filter clients/+/detections topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Relay pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan-pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ingest.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.1.x
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKunci dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Jika Anda menentukan broker sumber LocalMqtt atau IotCore, Anda dapat menggunakan wildcard topik MQTT + dan # untuk merelai pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI dari broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:. ssl://localhost:port

Default: ssl://localhost:8883

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan untuk menyampaikan pesan dari perangkat klien ke AWS IoT Core topik clients/MyClientDevice1/hello/world dan clients/MyClientDevice2/hello/world topik.

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
2.0.x
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKunci dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Jika Anda menentukan broker sumber LocalMqtt atau IotCore, Anda dapat menggunakan wildcard topik MQTT + dan # untuk merelai pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub – Broker pesan publikasi/berlangganan Greengrass lokal.

  • IotCore— Pialang AWS IoT Core pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan untuk menyampaikan pesan dari perangkat klien ke AWS IoT Core topik clients/MyClientDevice1/hello/world dan clients/MyClientDevice2/hello/world topik.

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }

Berkas log lokal

Komponen ini menggunakan file log yang sama dengan komponen inti Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.3.2

Versi diperbarui untuk perangkat klien autentikasi versi 2.5.0 rilis.

2.3.1
Perbaikan bug dan peningkatan

Memperbaiki masalah saat klien MQTT lokal masuk ke loop pemutusan.

2.3.0
Fitur baru

Menambahkan dukungan MQTT5 untuk menjembatani antara AWS IoT Core dan sumber MQTT lokal.

2.2.6

Fitur baru

Menambahkan opsi startupTimeoutSeconds konfigurasi baru.

2.2.5

Versi diperbarui untuk perangkat klien autentikasi versi 2.4.0 rilis.

2.2.4

Versi diperbarui untuk Greengrass perangkat klien auth versi 2.3.0 rilis.

2.2.3

Versi ini berisi perbaikan bug dan perbaikan.

2.2.2

Perbaikan bug dan peningkatan
  • Penyesuaian logging.

2.2.1

Perbaikan bug dan peningkatan

Memperbaiki masalah yang dapat mengakibatkan jembatan MQTT gagal berlangganan topik MQTT.

2.2.0

Fitur baru

2.1.1

Perbaikan bug dan peningkatan
  • Memperbaiki masalah dengan cara komponen ini menangani pembaruan pengaturan ulang konfigurasi.

  • Mengurangi frekuensi pemutusan klien MQTT saat sertifikat diputar.

2.1.0

Fitur baru
  • Menambahkan brokerUri parameter, yang memungkinkan Anda untuk menggunakan port broker MQTT non-default.

2.0.1

Versi ini mencakup perbaikan bug dan peningkatan.

2.0.0

Versi awal.