

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, 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**  <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)
+ [Berkas 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  
retainAsPublished  
(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`  
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 dari`keepAliveTimeoutSeconds`.  
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 dari`pingTimeoutMs`.  
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`  <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`

startupTimeoutSeconds  
(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`

startupTimeoutSeconds  
(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"
    }
  }
}
```

------

## Berkas 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:\$1greengrass\$1v2* 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.2  |  Versi diperbarui untuk [perangkat klien autentikasi](client-device-auth-component.md) versi 2.5.0 rilis.  | 
| 2.3.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
| 2.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.6  |  <a name="changelog-mqtt-bridge-2.2.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  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  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.0  |  <a name="changelog-mqtt-bridge-2.2.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.0.1  |  Versi ini mencakup perbaikan bug dan peningkatan.  | 
|  2.0.0  |  Versi awal.  | 