

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

# Jembatan MQTT
<a name="mqtt-bridge-component"></a>

Komponen jembatan MQTT (`aws.greengrass.clientdevices.mqtt.Bridge`) menyampaikan pesan MQTT antara perangkat klien, Greengrass lokal, dan. publish/subscribe 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**  <a name="client-device-component-context"></a>
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](interact-with-local-iot-devices.md).

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.
+ Lokal publish/subscribe — 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](ipc-publish-subscribe.md).
+ 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](ipc-iot-core-mqtt.md).
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).

**Topics**
+ [Versi](#mqtt-bridge-component-versions)
+ [Tipe](#mqtt-bridge-component-type)
+ [Sistem operasi](#mqtt-bridge-component-os-support)
+ [Persyaratan](#mqtt-bridge-component-requirements)
+ [Dependensi](#mqtt-bridge-component-dependencies)
+ [Konfigurasi](#mqtt-bridge-component-configuration)
+ [File log lokal](#mqtt-bridge-component-log-file)
+ [Changelog](#mqtt-bridge-component-changelog)

## Versi
<a name="mqtt-bridge-component-versions"></a>

Komponen ini memiliki versi berikut:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Tipe
<a name="mqtt-bridge-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Komponen ini adalah komponen plugin (`aws.greengrass.plugin`). [Inti Greengrass](greengrass-nucleus-component.md) menjalankan komponen plugin dalam Java Virtual Machine (JVM) yang sama sebagai inti. Nukleus dimulai ulang saat Anda mengubah versi komponen ini di perangkat inti.

<a name="public-component-type-plugin-para2"></a>Komponen plugin menggunakan file log yang sama seperti inti Greengrass. Untuk informasi selengkapnya, lihat [Memantau AWS IoT Greengrass log](monitor-logs.md).

<a name="public-component-type-more-information"></a>Untuk informasi selengkapnya, lihat [Jenis komponen](develop-greengrass-components.md#component-types).

## Sistem operasi
<a name="mqtt-bridge-component-os-support"></a>

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

## Persyaratan
<a name="mqtt-bridge-component-requirements"></a>

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
<a name="mqtt-bridge-component-dependencies"></a>

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](#mqtt-bridge-component-changelog) 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](https://console.aws.amazon.com/greengrass) tersebut. Pada halaman detail komponen, cari daftar **Dependensi**.

------
#### [ 2.3.2 ]

Tabel berikut mencantumkan dependensi untuk versi 2.3.2 dari komponen ini.


| Dependensi | Versi yang kompatibel | Jenis dependensi | 
| --- | --- | --- | 
| [Autentikasi perangkat klien](client-device-auth-component.md) | >=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 dari komponen ini.


| Dependensi | Versi yang kompatibel | Jenis dependensi | 
| --- | --- | --- | 
| [Autentikasi perangkat klien](client-device-auth-component.md) | >=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](client-device-auth-component.md) | >=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](client-device-auth-component.md) | >=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 dari komponen ini.


| Dependensi | Versi yang kompatibel | Jenis dependensi | 
| --- | --- | --- | 
| [Autentikasi perangkat klien](client-device-auth-component.md) | >=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](client-device-auth-component.md) | >=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](client-device-auth-component.md) | >=2.0.0 <2.1.0 | Keras | 

------

Untuk informasi selengkapnya tentang dependensi komponen, lihat [referensi resep komponen](component-recipe-reference.md#recipe-reference-component-dependencies).

## Konfigurasi
<a name="mqtt-bridge-component-configuration"></a>

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

------
#### [ 2.3.0 – 2.3.2 ]

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>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}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Nama pemetaan topik ini. Ganti {{topicMappingNameKey}} 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](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) di *Panduan Developer AWS IoT Core *.  
[Untuk menggunakan wildcard topik MQTT dengan broker `Pubsub` sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Broker pesan sumber. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Target broker pesan. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-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:    
{{mqtt5RouteOptionsNameKey}}  
Nama opsi rute untuk pemetaan topik. Ganti {{mqtt5RouteOptionsNameKey}} dengan pencocokan yang {{topicMappingNameKey}} ditentukan di `mqttTopicMapping` lapangan.  
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"
        }
    }
}
```
`noLocal`hanya didukung untuk rute di mana `source` berada`LocalMqtt`.  
Bawaan: salah  
mempertahankan AsPublished  
(Opsional) Saat diaktifkan, pesan yang diteruskan oleh jembatan memiliki `retain` tanda yang sama dengan pesan yang dipublikasikan ke broker untuk rute tersebut.  
`retainAsPublished`hanya didukung untuk rute di mana `source` berada`LocalMqtt`.  
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 menggunakan[Pialang MQTT 5 (EMQX)](mqtt-broker-emqx-component.md).  
Default: `mqtt3`  
ack TimeoutSeconds  
(Opsional) Interval waktu untuk menunggu paket PUBACK, SUBACK, atau UNSUBACK sebelum gagal operasi.  
Default: 60  
conn AckTimeoutMs  
(Opsional) Interval waktu untuk menunggu paket CONNACK sebelum mematikan koneksi.  
Default: 20000 (20 detik)  
ping TimeoutMs  
(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 dari`keepAliveTimeoutSeconds`.  
Default: 30000 (30 detik)  
menjaga AliveTimeoutSeconds  
(Opsional) Jumlah waktu dalam detik antara setiap pesan PING yang dikirim jembatan untuk menjaga koneksi MQTT tetap hidup. Nilai ini harus lebih besar dari`pingTimeoutMs`.  
Default: 60  
maks ReconnectDelayMs  
(Opsional) Jumlah waktu maksimum dalam hitungan detik agar MQTT terhubung kembali.  
Default: 30000 (30 detik)  
min ReconnectDelayMs  
(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  
maksimum PacketSize  
Jumlah maksimum byte yang akan diterima klien untuk paket MQTT.  
Default: null (Tidak ada batas)  
sesi ExpiryInterval  
(Opsional) Jumlah waktu dalam hitungan detik Anda dapat meminta sesi berlangsung antara jembatan dan broker lokal.  
Default: 4294967295 (sesi tidak pernah kedaluwarsa)

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(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`

startup TimeoutSeconds  
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi `BROKEN` jika melebihi batas waktu ini.  
Default: `120`

**Example Contoh: Pembaruan gabungan konfigurasi**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Contoh pembaruan konfigurasi berikut menentukan hal 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 lokal publish/subscribe pada `clients/+/detections` topik yang cocok dengan filter 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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) bernama `StatusUpdateRule` untuk mengurangi biaya menggunakan [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "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"
    }
  }
}
```

**Example Contoh: Mengkonfigurasi MQTT 5**  
Contoh konfigurasi berikut memperbarui yang berikut ini:  
+ Memungkinkan jembatan untuk menggunakan protokol MQTT 5 dengan broker lokal.
+ Mengonfigurasi penyimpanan MQTT sebagai setelan 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`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>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}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Nama pemetaan topik ini. Ganti {{topicMappingNameKey}} 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](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) di *Panduan Developer AWS IoT Core *.  
[Untuk menggunakan wildcard topik MQTT dengan broker `Pubsub` sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Broker pesan sumber. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Target broker pesan. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(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`

startup TimeoutSeconds  
(Opsional) Maksimum waktu dalam hitungan detik untuk memulai komponen. Status komponen berubah menjadi `BROKEN` jika melebihi batas waktu ini.  
Default: `120`

**Example Contoh: Pembaruan gabungan konfigurasi**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Contoh pembaruan konfigurasi berikut menentukan hal 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 lokal publish/subscribe pada `clients/+/detections` topik yang cocok dengan filter 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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) bernama `StatusUpdateRule` untuk mengurangi biaya menggunakan [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "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`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>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}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Nama pemetaan topik ini. Ganti {{topicMappingNameKey}} 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](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) di *Panduan Developer AWS IoT Core *.  
[Untuk menggunakan wildcard topik MQTT dengan broker `Pubsub` sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Broker pesan sumber. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Target broker pesan. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(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`

**Example Contoh: Pembaruan gabungan konfigurasi**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Contoh pembaruan konfigurasi berikut menentukan hal 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 lokal publish/subscribe pada `clients/+/detections` topik yang cocok dengan filter 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](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) bernama `StatusUpdateRule` untuk mengurangi biaya menggunakan [Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html).

```
{
  "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`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>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}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Nama pemetaan topik ini. Ganti {{topicMappingNameKey}} 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](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) di *Panduan Developer AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Broker pesan sumber. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Target broker pesan. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(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`

**Example Contoh: Pembaruan gabungan konfigurasi**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
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`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping"></a>
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>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}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Nama pemetaan topik ini. Ganti {{topicMappingNameKey}} 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](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) di *Panduan Developer AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Broker pesan sumber. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Target broker pesan. Pilih dari salah satu pilihan berikut:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt` – Broker MQTT lokal tempat perangkat klien berkomunikasi.
+ `Pubsub`— Pialang pesan Greengrass publish/subscribe lokal.
+ `IotCore`— Pialang AWS IoT Core pesan MQTT.
**catatan**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
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](configure-greengrass-core-v2.md#configure-mqtt).
`source` dan `target` harus berbeda.

**Example Contoh: Pembaruan gabungan konfigurasi**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
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"
    }
  }
}
```

------

## File log lokal
<a name="mqtt-bridge-component-log-file"></a>

Komponen ini menggunakan file log yang sama dengan komponen inti [Greengrass](greengrass-nucleus-component.md).

------
#### [ 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
<a name="mqtt-bridge-component-changelog"></a>

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.


|  **Versi**  |  **Perubahan**  | 
| --- | --- | 
| 2.3.3 |  **Perbaikan bug dan peningkatan**<br />   Memperbaiki masalah di mana beban perangkat bersamaan yang tinggi dapat menyebabkan jembatan MQTT berhenti menyampaikan pesan setelah PUBACK jatuh.     | 
| 2.3.2 | Versi diperbarui untuk [perangkat klien autentikasi](client-device-auth-component.md) versi 2.5.0 rilis. | 
| 2.3.1 |  **Perbaikan bug dan peningkatan**<br /> Memperbaiki masalah saat klien MQTT lokal masuk ke loop pemutusan.   | 
| 2.3.0 |  **Fitur baru**<br /> Menambahkan dukungan MQTT5 untuk menjembatani antara AWS IoT Core dan sumber MQTT lokal.   | 
| 2.2.6 |  <a name="changelog-mqtt-bridge-2.2.6"></a>**Fitur baru**<br /> Menambahkan opsi `startupTimeoutSeconds` konfigurasi baru.   | 
| 2.2.5 | Versi diperbarui untuk [perangkat klien autentikasi](client-device-auth-component.md) versi 2.4.0 rilis. | 
| 2.2.4 | Versi diperbarui untuk [Greengrass perangkat klien](client-device-auth-component.md) auth versi 2.3.0 rilis. | 
| 2.2.3 | Versi ini berisi perbaikan bug dan perbaikan. | 
| 2.2.2 |  **Perbaikan bug dan peningkatan**<br />   Penyesuaian logging.     | 
| 2.2.1 |  **Perbaikan bug dan peningkatan**<br /> Memperbaiki masalah yang dapat mengakibatkan jembatan MQTT gagal berlangganan topik MQTT.   | 
| 2.2.0 |  <a name="changelog-mqtt-bridge-2.2.0"></a>**Fitur baru**<br />   Menambahkan dukungan untuk wildcard topik MQTT (`#`dan`+`) saat Anda menentukan lokal publish/subscribe sebagai broker pesan sumber. <br />[Fitur ini membutuhkan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)   Menambahkan `targetTopicPrefix` opsi, yang dapat Anda tentukan untuk mengonfigurasi jembatan MQTT untuk menambahkan awalan ke topik target saat menyampaikan pesan.     | 
| 2.1.1 |  **Perbaikan bug dan peningkatan**<br />   Memperbaiki masalah dengan cara komponen ini menangani pembaruan pengaturan ulang konfigurasi.   Mengurangi frekuensi pemutusan klien MQTT saat sertifikat diputar.     | 
| 2.1.0 |  **Fitur baru**<br />   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. | 