

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Il componente bridge MQTT (`aws.greengrass.clientdevices.mqtt.Bridge`) inoltra i messaggi MQTT tra i dispositivi client, Greengrass locale e. publish/subscribe AWS IoT CoreÈ possibile utilizzare questo componente per agire sui messaggi MQTT provenienti dai dispositivi client in componenti personalizzati e sincronizzare i dispositivi client con. Cloud AWS

**Nota**  <a name="client-device-component-context"></a>
I dispositivi client sono dispositivi IoT locali che si connettono a un dispositivo principale di Greengrass per inviare messaggi e dati MQTT da elaborare. Per ulteriori informazioni, consulta [Interagisci con dispositivi IoT locali](interact-with-local-iot-devices.md).

È possibile utilizzare questo componente per inoltrare messaggi tra i seguenti broker di messaggi:
+ MQTT locale: il broker MQTT locale gestisce i messaggi tra i dispositivi client e un dispositivo principale.
+ Locale publish/subscribe : il broker di messaggi Greengrass locale gestisce i messaggi tra i componenti su un dispositivo principale. Per ulteriori informazioni su come interagire con questi messaggi nei componenti di Greengrass, vedere. [Pubblicare/sottoscrivere messaggi locali](ipc-publish-subscribe.md)
+ AWS IoT Core — Il broker AWS IoT Core MQTT gestisce i messaggi tra dispositivi IoT e destinazioni. Cloud AWS Per ulteriori informazioni su come interagire con questi messaggi nei componenti di Greengrass, vedere. [Publish/subscribe AWS IoT Core Messaggi MQTT](ipc-iot-core-mqtt.md)
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e sottoscrivere AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)

**Topics**
+ [Versioni](#mqtt-bridge-component-versions)
+ [Tipo](#mqtt-bridge-component-type)
+ [Sistema operativo](#mqtt-bridge-component-os-support)
+ [Requisiti](#mqtt-bridge-component-requirements)
+ [Dipendenze](#mqtt-bridge-component-dependencies)
+ [Configurazione](#mqtt-bridge-component-configuration)
+ [File di registro locale](#mqtt-bridge-component-log-file)
+ [Changelog](#mqtt-bridge-component-changelog)

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

Questo componente ha le seguenti versioni:
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

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

<a name="public-component-type-plugin-para1"></a>Questo componente è un componente plug-in (`aws.greengrass.plugin`). Il nucleo di [ Greengrass ](greengrass-nucleus-component.md) esegue questo componente nella stessa Java Virtual Machine (JVM) del nucleo. Il nucleo si riavvia quando si modifica la versione di questo componente sul dispositivo principale.

<a name="public-component-type-plugin-para2"></a>Questo componente utilizza lo stesso file di registro del nucleo di Greengrass. Per ulteriori informazioni, consulta [Monitora AWS IoT Greengrass i registri](monitor-logs.md).

<a name="public-component-type-more-information"></a>Per ulteriori informazioni, consulta [Tipi di componenti](develop-greengrass-components.md#component-types).

## Sistema operativo
<a name="mqtt-bridge-component-os-support"></a>

Questo componente può essere installato sui dispositivi principali che eseguono i seguenti sistemi operativi:
+ Linux
+ Windows

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

Questo componente ha i seguenti requisiti:
+ Se si configura il componente broker MQTT del dispositivo principale per utilizzare una porta diversa dalla porta predefinita 8883, è necessario utilizzare MQTT bridge v2.1.0 o versione successiva. Configuralo per connettersi alla porta in cui opera il broker.
+ Il componente bridge MQTT è supportato per l'esecuzione in un VPC.

## Dipendenze
<a name="mqtt-bridge-component-dependencies"></a>

Quando si distribuisce un componente, vengono distribuite AWS IoT Greengrass anche versioni compatibili delle sue dipendenze. Ciò significa che è necessario soddisfare i requisiti del componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni [ rilasciate ](#mqtt-bridge-component-changelog) di questo componente e i vincoli semantici della versione che definiscono le versioni dei componenti per ciascuna dipendenza. È inoltre possibile visualizzare le dipendenze per ciascuna versione del componente nella console. [AWS IoT Greengrass](https://console.aws.amazon.com/greengrass) Nella pagina dei dettagli del componente, cerca l'elenco delle ** dipendenze**.

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

La tabella seguente elenca le dipendenze per la versione 2.3.2 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.2.0 <2.6.0 | Rigidi | 

------
#### [ 2.3.0 and 2.3.1 ]

La tabella seguente elenca le dipendenze per le versioni 2.3.0 e 2.3.1 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.2.0 <2.5.0 | Rigidi | 

------
#### [ 2.2.5 and 2.2.6 ]

La tabella seguente elenca le dipendenze per le versioni 2.2.5 e 2.2.6 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.2.0 <2.5.0 | Rigidi | 

------
#### [ 2.2.3 and 2.2.4 ]

La tabella seguente elenca le dipendenze per le versioni 2.2.3 e 2.2.4 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.2.0 <2.4.0 | Rigidi | 

------
#### [ 2.2.0 – 2.2.2 ]

La tabella seguente elenca le dipendenze per le versioni da 2.2.0 a 2.2.2 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.2.0 <2.3.0 | Rigidi | 

------
#### [ 2.1.1 ]

La tabella seguente elenca le dipendenze per la versione 2.1.1 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.0.0 <2.2.0 | Rigidi | 

------
#### [ 2.0.0 to 2.1.0 ]

La tabella seguente elenca le dipendenze per le versioni da 2.0.0 a 2.1.0 di questo componente.


| Dipendenza | Versioni compatibili | Tipo di dipendenza | 
| --- | --- | --- | 
| [Autenticazione del dispositivo client ](client-device-auth-component.md) | > =2.0.0 <2.1.0 | Rigidi | 

------

Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti. [ComponentDependencies](component-recipe-reference.md#recipe-reference-component-dependencies)

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

Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.

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

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi ricevuti nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
`{{topicMappingNameKey}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Il nome di questa mappatura degli argomenti. Sostituiscilo {{topicMappingNameKey}} con un nome che ti aiuti a identificare questa mappatura degli argomenti.  
Questo oggetto contiene le seguenti informazioni:    
`topic`  
L'argomento o il filtro tematico per collegare i broker di origine e di destinazione.  
È possibile utilizzare i caratteri jolly relativi agli argomenti `+` e `#` MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro tematico. Per ulteriori informazioni, consulta gli argomenti [ MQTT nella Guida per gli sviluppatori. ](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) *AWS IoT Core *  
Per utilizzare i jolly degli argomenti MQTT con il broker di `Pubsub` origine, è necessario utilizzare la versione 2.6.0 o successiva del componente Greengrass nucleus. [Nucleo di Greengrass](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Il prefisso da aggiungere all'argomento di destinazione quando questo componente trasmette il messaggio.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.

mqtt5 RouteOptions  
(Facoltativo) Fornisce opzioni per configurare le mappature degli argomenti per collegare i messaggi dall'argomento di origine all'argomento di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
{{mqtt5RouteOptionsNameKey}}  
Il nome delle opzioni di percorso per una mappatura degli argomenti. Sostituisci {{mqtt5RouteOptionsNameKey}} con la corrispondenza {{topicMappingNameKey}} definita nel `mqttTopicMapping` campo.  
Questo oggetto contiene le seguenti informazioni:    
Nessun locale  
(Facoltativo) Se abilitato, il bridge non inoltra messaggi su un argomento pubblicato dal bridge stesso. Usalo per evitare i loop, come segue:  

```
{
    "mqtt5RouteOptions": {
        "toIoTCore": {
            "noLocal": true
        }
    },
    "mqttTopicMapping": {
        "toIoTCore": {
            "topic": "device",
            "source": "LocalMqtt",
            "target": "IotCore"
        },
        "toLocal": {
            "topic": "device",
            "source": "IotCore",
            "target": "LocalMqtt"
        }
    }
}
```
`noLocal`è supportato solo per i percorsi in cui si `source` trova`LocalMqtt`.  
Impostazione predefinita: false  
conservare AsPublished  
(Facoltativo) Se abilitato, i messaggi inoltrati dal bridge hanno lo stesso `retain` contrassegno dei messaggi pubblicati al broker per quella rotta.  
`retainAsPublished`è supportato solo per le rotte in cui si trova. `source` `LocalMqtt`  
Impostazione predefinita: false

mqtt  
(Facoltativo) Impostazioni del protocollo MQTT per la comunicazione con il broker locale.    
version  
(Facoltativo) La versione del protocollo MQTT utilizzata dal bridge per comunicare con il broker locale. Deve essere la stessa della versione MQTT selezionata nella configurazione del nucleo.   
Scegli tra le seguenti opzioni:   
+ `mqtt3`
+ `mqtt5`
È necessario implementare un broker MQTT quando il `target` campo `source` or dell'oggetto è impostato su. `mqttTopicMapping` `LocalMqtt` Se si sceglie l'`mqtt5`opzione è necessario utilizzare il. [Broker MQTT 5 (EMQX)](mqtt-broker-emqx-component.md)  
Impostazione predefinita: `mqtt3`  
Jack TimeoutSeconds  
(Facoltativo) Intervallo di tempo di attesa dei pacchetti PUBACK, SUBACK o UNSUBACK prima di fallire l'operazione.  
Impostazione predefinita: 60  
conn AckTimeoutMs  
(Facoltativo) Intervallo di tempo di attesa di un pacchetto CONNACK prima di interrompere la connessione.  
Impostazione predefinita: 20000 (20 secondi)  
ping TimeoutMs  
(Facoltativo) La quantità di tempo in millisecondi in cui il bridge attende per ricevere un messaggio PINGACK dal broker locale. Se l'attesa supera il timeout, il bridge si chiude e riapre la connessione MQTT. Questo valore deve essere inferiore a. `keepAliveTimeoutSeconds`  
Predefinito: 30000 (30 secondi)  
mantenere AliveTimeoutSeconds  
(Facoltativo) L'intervallo di tempo in secondi tra ogni messaggio PING inviato dal bridge per mantenere attiva la connessione MQTT. Questo valore deve essere maggiore di. `pingTimeoutMs`  
Impostazione predefinita: 60  
max ReconnectDelayMs  
(Facoltativo) Il tempo massimo in secondi per la riconnessione di MQTT.  
Predefinito: 30000 (30 secondi)  
min ReconnectDelayMs  
(Facoltativo) Il tempo minimo in secondi per la riconnessione di MQTT.  
Ricevi il massimo  
(Facoltativo) Il numero massimo di pacchetti QoS1 non riconosciuti che il bridge può inviare.  
Impostazione predefinita: 100  
massimo PacketSize  
Il numero massimo di byte che il client accetterà per un pacchetto MQTT.  
Predefinito: null (nessun limite)  
sessione ExpiryInterval  
(Facoltativo) La quantità di tempo in secondi che puoi richiedere per la durata di una sessione tra il bridge e il broker locale.  
Predefinito: 4294967295 (la sessione non scade mai)

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Usa il seguente formato e sostituiscilo {{port}} con la porta su cui opera il broker MQTT:. `ssl://localhost:{{port}}`  
Impostazione predefinita: `ssl://localhost:8883`

avvio TimeoutSeconds  
(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia `BROKEN` se supera questo timeout.  
Impostazione predefinita: `120`

**Example Esempio: aggiornamento dell'unione delle configurazioni**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Il seguente esempio di aggiornamento della configurazione specifica quanto segue:  
+ Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli `clients/+/hello/world` argomenti.
+ Inoltra i messaggi dai dispositivi client a quelli locali publish/subscribe sugli argomenti che corrispondono al filtro degli argomenti e aggiungi il `events/input/` prefisso all'`clients/+/detections`argomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli `events/input/clients/+/detections` argomenti.
+ Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il `$aws/rules/StatusUpdateRule/` prefisso all'`clients/+/status`argomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una [AWS IoT regola ](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominata per `StatusUpdateRule` ridurre i costi utilizzando [ 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 Esempio: configurazione di MQTT 5**  
Il seguente esempio di configurazione aggiorna quanto segue:  
+ Consente al bridge di utilizzare il protocollo MQTT 5 con il broker locale.
+ Configura la conservazione MQTT come impostazione pubblicata per la mappatura degli argomenti. `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>Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi ricevuti nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
`{{topicMappingNameKey}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Il nome di questa mappatura degli argomenti. Sostituiscilo {{topicMappingNameKey}} con un nome che ti aiuti a identificare questa mappatura degli argomenti.  
Questo oggetto contiene le seguenti informazioni:    
`topic`  
L'argomento o il filtro tematico per collegare i broker di origine e di destinazione.  
È possibile utilizzare i caratteri jolly relativi agli argomenti `+` e `#` MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro tematico. Per ulteriori informazioni, consulta gli argomenti [ MQTT nella Guida per gli sviluppatori. ](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) *AWS IoT Core *  
Per utilizzare i jolly degli argomenti MQTT con il broker di `Pubsub` origine, è necessario utilizzare la versione 2.6.0 o successiva del componente Greengrass nucleus. [Nucleo di Greengrass](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Il prefisso da aggiungere all'argomento di destinazione quando questo componente trasmette il messaggio.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Usa il seguente formato e sostituiscilo {{port}} con la porta su cui opera il broker MQTT:. `ssl://localhost:{{port}}`  
Impostazione predefinita: `ssl://localhost:8883`

avvio TimeoutSeconds  
(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia `BROKEN` se supera questo timeout.  
Impostazione predefinita: `120`

**Example Esempio: aggiornamento dell'unione delle configurazioni**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Il seguente esempio di aggiornamento della configurazione specifica quanto segue:  
+ Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli `clients/+/hello/world` argomenti.
+ Inoltra i messaggi dai dispositivi client a quelli locali publish/subscribe sugli argomenti che corrispondono al filtro degli argomenti e aggiungi il `events/input/` prefisso all'`clients/+/detections`argomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli `events/input/clients/+/detections` argomenti.
+ Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il `$aws/rules/StatusUpdateRule/` prefisso all'`clients/+/status`argomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una [AWS IoT regola ](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominata per `StatusUpdateRule` ridurre i costi utilizzando [ 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>Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi ricevuti nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
`{{topicMappingNameKey}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Il nome di questa mappatura degli argomenti. Sostituiscilo {{topicMappingNameKey}} con un nome che ti aiuti a identificare questa mappatura degli argomenti.  
Questo oggetto contiene le seguenti informazioni:    
`topic`  
L'argomento o il filtro tematico per collegare i broker di origine e di destinazione.  
È possibile utilizzare i caratteri jolly relativi agli argomenti `+` e `#` MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro tematico. Per ulteriori informazioni, consulta gli argomenti [ MQTT nella Guida per gli sviluppatori. ](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) *AWS IoT Core *  
Per utilizzare i jolly degli argomenti MQTT con il broker di `Pubsub` origine, è necessario utilizzare la versione 2.6.0 o successiva del componente Greengrass nucleus. [Nucleo di Greengrass](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
Il prefisso da aggiungere all'argomento di destinazione quando questo componente trasmette il messaggio.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Usa il seguente formato e sostituiscilo {{port}} con la porta su cui opera il broker MQTT:. `ssl://localhost:{{port}}`  
Impostazione predefinita: `ssl://localhost:8883`

**Example Esempio: aggiornamento dell'unione delle configurazioni**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
Il seguente esempio di aggiornamento della configurazione specifica quanto segue:  
+ Inoltra i messaggi dai dispositivi client agli AWS IoT Core argomenti che corrispondono al filtro degli `clients/+/hello/world` argomenti.
+ Inoltra i messaggi dai dispositivi client a quelli locali publish/subscribe sugli argomenti che corrispondono al filtro degli argomenti e aggiungi il `events/input/` prefisso all'`clients/+/detections`argomento di destinazione. L'argomento di destinazione risultante corrisponde al filtro degli `events/input/clients/+/detections` argomenti.
+ Inoltra i messaggi dai dispositivi client AWS IoT Core agli argomenti che corrispondono al filtro degli argomenti e aggiungi il `$aws/rules/StatusUpdateRule/` prefisso all'`clients/+/status`argomento di destinazione. Questo esempio inoltra questi messaggi direttamente a una [AWS IoT regola ](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominata per `StatusUpdateRule` ridurre i costi utilizzando [ 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>Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi ricevuti nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
`{{topicMappingNameKey}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Il nome di questa mappatura degli argomenti. Sostituiscilo {{topicMappingNameKey}} con un nome che ti aiuti a identificare questa mappatura degli argomenti.  
Questo oggetto contiene le seguenti informazioni:    
`topic`  
L'argomento o il filtro tematico per collegare i broker di origine e di destinazione.  
Se specifichi il broker `LocalMqtt` o il broker di `IotCore` origine, puoi utilizzare i caratteri jolly relativi all'argomento `+` e `#` MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro tematico. Per ulteriori informazioni, consultate gli argomenti [ MQTT nella Guida per gli sviluppatori. ](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) *AWS IoT Core *  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Facoltativo) L'URI del broker MQTT locale. È necessario specificare questo parametro se si configura il broker MQTT per utilizzare una porta diversa dalla porta predefinita 8883. Usa il seguente formato e sostituiscilo {{port}} con la porta su cui opera il broker MQTT:. `ssl://localhost:{{port}}`  
Impostazione predefinita: `ssl://localhost:8883`

**Example Esempio: aggiornamento dell'unione delle configurazioni**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
Il seguente esempio di aggiornamento della configurazione specifica l'inoltro dei messaggi dai dispositivi client agli argomenti AWS IoT Core on the `clients/MyClientDevice1/hello/world` and. `clients/MyClientDevice2/hello/world`  

```
{
  "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>Le mappature degli argomenti che si desidera collegare. Questo componente sottoscrive i messaggi sull'argomento di origine e pubblica i messaggi ricevuti nell'argomento di destinazione. Ogni mappatura degli argomenti definisce l'argomento, il tipo di origine e il tipo di destinazione.  
Questo oggetto contiene le seguenti informazioni:    
`{{topicMappingNameKey}}`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>Il nome di questa mappatura degli argomenti. Sostituiscilo {{topicMappingNameKey}} con un nome che ti aiuti a identificare questa mappatura degli argomenti.  
Questo oggetto contiene le seguenti informazioni:    
`topic`  
L'argomento o il filtro tematico per collegare i broker di origine e di destinazione.  
Se specifichi il broker `LocalMqtt` o il broker di `IotCore` origine, puoi utilizzare i caratteri jolly relativi all'argomento `+` e `#` MQTT per inoltrare messaggi su tutti gli argomenti che corrispondono a un filtro tematico. Per ulteriori informazioni, consultate gli argomenti [ MQTT nella Guida per gli sviluppatori. ](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) *AWS IoT Core *  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
Il broker di messaggi di origine. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
Il broker di messaggi di destinazione. Seleziona una delle opzioni seguenti:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`— Il broker MQTT locale in cui comunicano i dispositivi client.
+ `Pubsub`— Il broker di messaggi Greengrass publish/subscribe locale.
+ `IotCore`— Il broker di messaggi AWS IoT Core MQTT.
**Nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
Il bridge MQTT utilizza QoS 1 per pubblicare e abbonarsi AWS IoT Core, anche quando un dispositivo client utilizza QoS 0 per pubblicare e abbonarsi al broker MQTT locale. Di conseguenza, è possibile osservare una latenza aggiuntiva quando si inoltrano messaggi MQTT dai dispositivi client sul broker MQTT locale a. AWS IoT Core Per ulteriori informazioni sulla configurazione MQTT sui dispositivi principali, vedere. [Configura i timeout MQTT e le impostazioni della cache](configure-greengrass-core-v2.md#configure-mqtt)
`source`e `target` deve essere diverso.

**Example Esempio: aggiornamento dell'unione delle configurazioni**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
Il seguente esempio di aggiornamento della configurazione specifica l'inoltro dei messaggi dai dispositivi client agli argomenti AWS IoT Core on the `clients/MyClientDevice1/hello/world` and. `clients/MyClientDevice2/hello/world`  

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

------

## File di registro locale
<a name="mqtt-bridge-component-log-file"></a>

Questo componente utilizza lo stesso file di registro del componente [ Greengrass nucleus](greengrass-nucleus-component.md).

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/greengrass.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\greengrass.log
```

------

**Per visualizzare i log di questo componente**
+ Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci `{{/greengrass/v2}}` o {{C:\\greengrass\\v2}} con il percorso della cartella AWS IoT Greengrass principale.

------
#### [ 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>

La tabella seguente descrive le modifiche in ciascuna versione del componente.


|  **Versione**  |  **Modifiche**  | 
| --- | --- | 
| 2.3.3 |  **Correzioni di bug e miglioramenti**<br />   Risolve un problema per cui un elevato carico simultaneo del dispositivo poteva causare l'interruzione dell'inoltro dei messaggi da parte del bridge MQTT dopo la caduta di un PUBACK.     | 
| 2.3.2 | Versione aggiornata per la versione 2.5.0 di autenticazione [ del dispositivo client. ](client-device-auth-component.md) | 
| 2.3.1 |  **Correzioni di bug e miglioramenti**<br /> Risolve un problema a causa del quale il client MQTT locale entra in un ciclo di disconnessione.   | 
| 2.3.0 |  **Nuove funzionalità**<br /> Aggiunge il supporto MQTT5 per il bridging tra sorgenti MQTT locali e locali. AWS IoT Core    | 
| 2.2.6 |  <a name="changelog-mqtt-bridge-2.2.6"></a>**Nuove funzionalità**<br /> Aggiunge una nuova opzione di configurazione. `startupTimeoutSeconds`   | 
| 2.2.5 | Versione aggiornata per la [ versione 2.4.0 di autenticazione del dispositivo ](client-device-auth-component.md) client. | 
| 2.2.4 | Versione aggiornata per la versione 2.3.0 di Greengrass [ Client Device Auth. ](client-device-auth-component.md) | 
| 2.2.3 | Questa versione contiene correzioni di bug e miglioramenti. | 
| 2.2.2 |  **Correzioni di bug e miglioramenti**<br />   Modifiche alla registrazione.     | 
| 2.2.1 |  **Correzioni di bug e miglioramenti**<br /> Risolve i problemi che possono far sì che il bridge MQTT non riesca a sottoscrivere gli argomenti MQTT.   | 
| 2.2.0 |  <a name="changelog-mqtt-bridge-2.2.0"></a>**Nuove funzionalità**<br />   Aggiunge il supporto per i caratteri jolly degli argomenti MQTT (`#`e`+`) quando si specifica local come broker di messaggi di origine. publish/subscribe  <br />Questa funzionalità richiede la versione 2.6.0 o successiva del componente Greengrass nucleus. [Nucleo di Greengrass](greengrass-nucleus-component.md)   Aggiunge l'`targetTopicPrefix`opzione, che è possibile specificare per configurare il bridge MQTT in modo da aggiungere un prefisso all'argomento di destinazione quando trasmette un messaggio.     | 
| 2.1.1 |  **Correzioni di bug e miglioramenti**<br />   Risolve i problemi relativi al modo in cui questo componente gestisce gli aggiornamenti di ripristino della configurazione.   Riduce la frequenza delle disconnessioni del client MQTT quando i certificati ruotano.     | 
| 2.1.0 |  **Nuove funzionalità**<br />   Aggiunge il `brokerUri` parametro, che consente di utilizzare una porta broker MQTT non predefinita.     | 
| 2.0.1 | Questa versione include correzioni di bug e miglioramenti. | 
| 2.0.0 | Versione iniziale. | 