

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

El componente puente MQTT (`aws.greengrass.clientdevices.mqtt.Bridge`) transmite mensajes MQTT entre los dispositivos cliente, la publicación/suscripción local de Greengrass y. AWS IoT Core Puede utilizar este componente para actuar sobre los mensajes MQTT de los dispositivos de cliente en componentes personalizados y sincronizar los dispositivos de cliente con la Nube de AWS.

**nota**  <a name="client-device-component-context"></a>
Los dispositivos de cliente son dispositivos IoT locales que se conectan a un dispositivo principal de Greengrass para enviar mensajes MQTT y datos para su procesamiento. Para obtener más información, consulte [Interacción con dispositivos IoT locales](interact-with-local-iot-devices.md).

Puede usar este componente para retransmitir mensajes entre los siguientes agentes de mensajes:
+ MQTT local: el agente MQTT local maneja los mensajes entre los dispositivos de cliente y un dispositivo principal.
+ Local publish/subscribe : el agente de mensajes local de Greengrass gestiona los mensajes entre los componentes de un dispositivo central. Para obtener más información acerca de cómo interactuar con estos mensajes en los componentes de Greengrass, consulte [Publicar/suscribir mensajes locales](ipc-publish-subscribe.md).
+ AWS IoT Core — El broker AWS IoT Core MQTT gestiona los mensajes entre dispositivos y Nube de AWS destinos de IoT. Para obtener más información acerca de cómo interactuar con estos mensajes en los componentes de Greengrass, consulte [Publicar/suscribir mensajes MQTT AWS IoT Core](ipc-iot-core-mqtt.md).
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).

**Topics**
+ [Versiones](#mqtt-bridge-component-versions)
+ [Tipo](#mqtt-bridge-component-type)
+ [Sistema operativo](#mqtt-bridge-component-os-support)
+ [Requisitos](#mqtt-bridge-component-requirements)
+ [Dependencias](#mqtt-bridge-component-dependencies)
+ [Configuración](#mqtt-bridge-component-configuration)
+ [Archivo de registro local](#mqtt-bridge-component-log-file)
+ [Registros de cambios](#mqtt-bridge-component-changelog)

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

Este componente tiene las siguientes versiones:
+ 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>Este componente es un componente de complemento (`aws.greengrass.plugin`). El [núcleo de Greengrass](greengrass-nucleus-component.md) ejecuta este componente en la misma máquina virtual Java (JVM) que el núcleo. El núcleo se reinicia al cambiar la versión de este componente en el dispositivo principal.

<a name="public-component-type-plugin-para2"></a>Este componente usa el mismo archivo de registro que el núcleo de Greengrass. Para obtener más información, consulte [Supervisión de los registros de AWS IoT Greengrass](monitor-logs.md).

<a name="public-component-type-more-information"></a>Para obtener más información, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

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

Este componente se puede instalar en los dispositivos principales que ejecutan los siguientes sistemas operativos:
+ Linux
+ Windows

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

Este componente tiene los siguientes requisitos:
+ Si configura el componente agente MQTT del dispositivo principal para que utilice un puerto que no sea el puerto 8883 predeterminado, debe usar el puente de MQTT versión 2.1.0 o posterior. Configúrelo para que se conecte al puerto en el que opera el agente.
+ Se admite la ejecución del componente puente de MQTT en una VPC.

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

Al implementar un componente, AWS IoT Greengrass también despliega versiones compatibles de sus dependencias. Esto significa que debe cumplir los requisitos del componente y de todas sus dependencias para poder implementar el componente correctamente. En esta sección, se enumeran las dependencias de las [versiones publicadas](#mqtt-bridge-component-changelog) de este componente y las restricciones de las versiones semánticas que definen las versiones de los componentes para cada dependencia. También puede ver las dependencias de cada versión del componente en la [consola de AWS IoT Greengrass](https://console.aws.amazon.com//greengrass). En la página de detalles del componente, busque la lista de **Dependencias**.

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

En la siguiente tabla, se muestran las dependencias de la versión 2.3.2 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.2.0 <2.6.0 | Rígido | 

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

En la siguiente tabla, se muestran las dependencias de las versiones 2.3.0 y 2.3.1 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

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

En la siguiente tabla, se muestran las dependencias de las versiones 2.2.5 y 2.2.6 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.2.0 <2.5.0 | Rígido | 

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

En la siguiente tabla, se muestran las dependencias de las versiones 2.2.3 y 2.2.4 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.2.0 <2.4.0 | Rígido | 

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

En la siguiente tabla, se muestran las dependencias de las versiones 2.2.0 a 2.2.2 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.2.0 <2.3.0 | Rígido | 

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

En la siguiente tabla, se muestran las dependencias de la versión 2.1.1 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.0.0 <2.2.0 | Rígido | 

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

En la siguiente tabla, se muestra las dependencias de las versiones 2.0.0 a 2.1.0 de este componente.


| Dependencia | Versiones compatibles | Tipo de dependencia | 
| --- | --- | --- | 
| [Autenticación del dispositivo de cliente](client-device-auth-component.md) | >=2.0.0 <2.1.0 | Rígido | 

------

Para obtener más información sobre las dependencias del componente, consulte la [referencia de receta de componentes](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuración
<a name="mqtt-bridge-component-configuration"></a>

Este componente ofrece los siguientes parámetros de configuración que puede personalizar cuando implemente el componente.

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

`mqttTopicMapping`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-description"></a>Las asignaciones de temas que desea unir. Este componente se suscribe a los mensajes del tema de origen y publica los mensajes que recibe en el tema de destino. Cada asignación de temas define el tema, el tipo de origen y el tipo de destino.  
Este objeto contiene la siguiente información:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>El nombre de esta asignación de temas. *topicMappingNameKey*Sustitúyalo por un nombre que ayude a identificar el mapeo de este tema.  
Este objeto contiene la siguiente información:    
`topic`  
El tema o filtro de temas que sirve de puente entre los agentes de origen y de destino.  
Puede utilizar los caracteres comodín de temas MQTT `+` y `#` para transmitir mensajes en todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte [Temas MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) en la *Guía para desarrolladores de AWS IoT Core *.  
Para usar comodines de temas de MQTT con el agente `Pubsub` de origen, debe usar la versión 2.6.0 o posterior del [componente núcleo de Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
El agente de mensajes de origen. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
El agente de mensajes de destino. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.

mqtt5 RouteOptions  
(Opcional) Ofrece opciones para configurar las asignaciones de temas a fin de unir los mensajes del tema de origen al tema de destino.  
Este objeto contiene la siguiente información:    
*mqtt5RouteOptionsNameKey*  
El nombre de las opciones de ruta de una asignación de temas. *mqtt5RouteOptionsNameKey*Sustitúyala por la coincidencia *topicMappingNameKey* definida en el `mqttTopicMapping` campo.  
Este objeto contiene la siguiente información:    
noLocal  
(Opcional) Cuando está activado, el puente no reenvía los mensajes sobre un tema que haya publicado el propio puente. Utilice esta opción para evitar los bucles, de la siguiente manera:  

```
{
    "mqtt5RouteOptions": {
        "toIoTCore": {
            "noLocal": true
        }
    },
    "mqttTopicMapping": {
        "toIoTCore": {
            "topic": "device",
            "source": "LocalMqtt",
            "target": "IotCore"
        },
        "toLocal": {
            "topic": "device",
            "source": "IotCore",
            "target": "LocalMqtt"
        }
    }
}
```
`noLocal` solo se admite en las rutas en las que `source` es `LocalMqtt`.  
Predeterminado: false  
retainAsPublished  
(Opcional) Cuando está habilitado, los mensajes reenviados por el puente tienen la misma marca `retain` que los mensajes publicados en el agente para esa ruta.  
`retainAsPublished` solo se admite en las rutas en las que `source` es `LocalMqtt`.  
Predeterminado: false

mqtt  
(Opcional) Configuración del protocolo MQTT para comunicarse con el agente local.    
versión  
(Opcional) La versión del protocolo MQTT utilizada por el puente para comunicarse con el agente local. Debe ser la misma que la versión de MQTT seleccionada en la configuración del núcleo.   
Elija una de las siguientes opciones:   
+ `mqtt3`
+ `mqtt5`
Debe implementar un agente MQTT cuando el campo `source` o `target` del objeto `mqttTopicMapping` esté establecido en `LocalMqtt`. Si elige la opción `mqtt5`, debe usar el [Agente MQTT 5 (EMQX)](mqtt-broker-emqx-component.md).  
Valor predeterminado: `mqtt3`  
ackTimeoutSeconds  
(Opcional) Intervalo de tiempo para esperar a que lleguen los paquetes PUBACK, SUBACK o UNSUBACK antes de que se produzca un error en la operación.  
Predeterminado: 60  
connAckTimeoutSrta.  
(Opcional) Intervalo de tiempo para esperar un paquete CONNACK antes de cerrar la conexión.  
Valor predeterminado: 20 000 (20 segundos)  
pingTimeoutMs  
(Opcional) El tiempo en milisegundos que el puente espera a recibir un mensaje PINGACK del agente local. Si la espera supera el tiempo de espera, el puente se cierra y vuelve a abrir la conexión MQTT. Este valor debe ser inferior a `keepAliveTimeoutSeconds`.  
Valor predeterminado: 30 000 (30 segundos)  
keepAliveTimeoutSegundos  
(Opcional) El tiempo en segundos que transcurre entre cada mensaje PING que envía el puente para mantener activa la conexión MQTT. El valor debe ser mayor que `pingTimeoutMs`.  
Predeterminado: 60  
maxReconnectDelaySra.  
(Opcional) Tiempo máximo en segundos que MQTT se vuelve a conectar.  
Valor predeterminado: 30 000 (30 segundos)  
minReconnectDelaySra.  
(Opcional) Tiempo mínimo en segundos para que MQTT se vuelva a conectar.  
receiveMaximum  
(Opcional) La cantidad máxima de paquetes QoS1 no confirmados que puede enviar el puente.  
Predeterminado: 100  
maximumPacketSize  
El número máximo de bytes que el cliente aceptará para un paquete MQTT.  
Predeterminado: nulo (sin límite)  
sessionExpiryInterval  
(Opcional) La cantidad de tiempo en segundos que puede solicitar para que dure una sesión entre el puente y el agente local.  
Predeterminado: 4294967295 (la sesión nunca caduca)

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) El URI del agente MQTT local. Debe especificar este parámetro si configura el agente MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y *port* sustitúyalo por el puerto en el que opera el broker MQTT:`ssl://localhost:port`.  
Valor predeterminado: `ssl://localhost:8883`

startupTimeoutSeconds  
(Opcional) El tiempo máximo en segundos para que se inicie el componente. El estado del componente cambia a `BROKEN` si supera este tiempo de espera.  
Valor predeterminado: `120`

**Example Ejemplo: actualización de la combinación de configuraciones**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
El siguiente ejemplo de archivo de configuración especifica lo siguiente:  
+ Transmita mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de `clients/+/hello/world` temas.
+ Transmita los mensajes de los dispositivos cliente a los dispositivos locales publish/subscribe sobre los temas que coincidan con el `clients/+/detections` filtro de temas y añada el `events/input/` prefijo al tema de destino. El tema de destino resultante coincide con el filtro de temas `events/input/clients/+/detections`.
+ Transmita los mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de temas y añada el `$aws/rules/StatusUpdateRule/` prefijo al `clients/+/status` tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una [regla AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominada `StatusUpdateRule` para la reducción de costos mediante la [ingesta básica](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 Ejemplo: configuración de MQTT 5**  
El siguiente ejemplo de archivo de configuración actualiza lo siguiente:  
+ Permite que el puente utilice el protocolo MQTT 5 con el agente local.
+ Configura MQTT para retenerlo como configuración publicada para la asignación de temas `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>Las asignaciones de temas que desea unir. Este componente se suscribe a los mensajes del tema de origen y publica los mensajes que recibe en el tema de destino. Cada asignación de temas define el tema, el tipo de origen y el tipo de destino.  
Este objeto contiene la siguiente información:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>El nombre de esta asignación de temas. *topicMappingNameKey*Sustitúyalo por un nombre que te ayude a identificar este mapeo de temas.  
Este objeto contiene la siguiente información:    
`topic`  
El tema o filtro de temas que sirve de puente entre los agentes de origen y de destino.  
Puede utilizar los caracteres comodín de temas MQTT `+` y `#` para transmitir mensajes en todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte [Temas MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) en la *Guía para desarrolladores de AWS IoT Core *.  
Para usar comodines de temas de MQTT con el agente `Pubsub` de origen, debe usar la versión 2.6.0 o posterior del [componente núcleo de Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
El agente de mensajes de origen. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
El agente de mensajes de destino. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) El URI del agente MQTT local. Debe especificar este parámetro si configura el agente MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustitúyalo por *port* el puerto en el que opera el broker MQTT:. `ssl://localhost:port`  
Valor predeterminado: `ssl://localhost:8883`

startupTimeoutSeconds  
(Opcional) El tiempo máximo en segundos para que se inicie el componente. El estado del componente cambia a `BROKEN` si supera este tiempo de espera.  
Valor predeterminado: `120`

**Example Ejemplo: actualización de la combinación de configuraciones**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
El siguiente ejemplo de archivo de configuración especifica lo siguiente:  
+ Transmita mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de `clients/+/hello/world` temas.
+ Transmita los mensajes de los dispositivos cliente a los dispositivos locales publish/subscribe sobre los temas que coincidan con el `clients/+/detections` filtro de temas y añada el `events/input/` prefijo al tema de destino. El tema de destino resultante coincide con el filtro de temas `events/input/clients/+/detections`.
+ Transmita los mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de temas y añada el `$aws/rules/StatusUpdateRule/` prefijo al `clients/+/status` tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una [regla AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominada `StatusUpdateRule` para la reducción de costos mediante la [ingesta básica](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>Las asignaciones de temas que desea unir. Este componente se suscribe a los mensajes del tema de origen y publica los mensajes que recibe en el tema de destino. Cada asignación de temas define el tema, el tipo de origen y el tipo de destino.  
Este objeto contiene la siguiente información:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>El nombre de esta asignación de temas. *topicMappingNameKey*Sustitúyalo por un nombre que te ayude a identificar este mapeo de temas.  
Este objeto contiene la siguiente información:    
`topic`  
El tema o filtro de temas que sirve de puente entre los agentes de origen y de destino.  
Puede utilizar los caracteres comodín de temas MQTT `+` y `#` para transmitir mensajes en todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte [Temas MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) en la *Guía para desarrolladores de AWS IoT Core *.  
Para usar comodines de temas de MQTT con el agente `Pubsub` de origen, debe usar la versión 2.6.0 o posterior del [componente núcleo de Greengrass.](greengrass-nucleus-component.md)  
`targetTopicPrefix`  
El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
El agente de mensajes de origen. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
El agente de mensajes de destino. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) El URI del agente MQTT local. Debe especificar este parámetro si configura el agente MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustitúyalo por *port* el puerto en el que opera el broker MQTT:. `ssl://localhost:port`  
Valor predeterminado: `ssl://localhost:8883`

**Example Ejemplo: actualización de la combinación de configuraciones**  <a name="mqtt-bridge-component-configuration-example-with-prefix"></a>
El siguiente ejemplo de archivo de configuración especifica lo siguiente:  
+ Transmita mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de `clients/+/hello/world` temas.
+ Transmita los mensajes de los dispositivos cliente a los dispositivos locales publish/subscribe sobre los temas que coincidan con el `clients/+/detections` filtro de temas y añada el `events/input/` prefijo al tema de destino. El tema de destino resultante coincide con el filtro de temas `events/input/clients/+/detections`.
+ Transmita los mensajes desde los dispositivos cliente a AWS IoT Core temas que coincidan con el filtro de temas y añada el `$aws/rules/StatusUpdateRule/` prefijo al `clients/+/status` tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una [regla AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) denominada `StatusUpdateRule` para la reducción de costos mediante la [ingesta básica](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>Las asignaciones de temas que desea unir. Este componente se suscribe a los mensajes del tema de origen y publica los mensajes que recibe en el tema de destino. Cada asignación de temas define el tema, el tipo de origen y el tipo de destino.  
Este objeto contiene la siguiente información:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>El nombre de esta asignación de temas. *topicMappingNameKey*Sustitúyalo por un nombre que te ayude a identificar este mapeo de temas.  
Este objeto contiene la siguiente información:    
`topic`  
El tema o filtro de temas que sirve de puente entre los agentes de origen y de destino.  
Si especifica el agente `LocalMqtt` o `IotCore` de origen, puede utilizar los caracteres comodín de temas MQTT `+` y `#` para retransmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte [Temas MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) en la *Guía para desarrolladores de AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
El agente de mensajes de origen. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
El agente de mensajes de destino. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.

`brokerUri`  <a name="mqtt-bridge-component-configuration-broker-uri"></a>
(Opcional) El URI del agente MQTT local. Debe especificar este parámetro si configura el agente MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustitúyalo por *port* el puerto en el que opera el broker MQTT:. `ssl://localhost:port`  
Valor predeterminado: `ssl://localhost:8883`

**Example Ejemplo: actualización de la combinación de configuraciones**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
El siguiente ejemplo de actualización de configuración especifica la retransmisión de mensajes desde los dispositivos cliente a los AWS IoT Core `clients/MyClientDevice2/hello/world` temas `clients/MyClientDevice1/hello/world` y.  

```
{
  "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>Las asignaciones de temas que desea unir. Este componente se suscribe a los mensajes del tema de origen y publica los mensajes que recibe en el tema de destino. Cada asignación de temas define el tema, el tipo de origen y el tipo de destino.  
Este objeto contiene la siguiente información:    
`topicMappingNameKey`  
<a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-name-key-description"></a>El nombre de esta asignación de temas. *topicMappingNameKey*Sustitúyalo por un nombre que ayude a identificar este mapeo de temas.  
Este objeto contiene la siguiente información:    
`topic`  
El tema o filtro de temas que sirve de puente entre los agentes de origen y de destino.  
Si especifica el agente `LocalMqtt` o `IotCore` de origen, puede utilizar los caracteres comodín de temas MQTT `+` y `#` para retransmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte [Temas MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) en la *Guía para desarrolladores de AWS IoT Core *.  
`source`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-source"></a>
El agente de mensajes de origen. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.  
`target`  <a name="mqtt-bridge-component-configuration-mqtt-topic-mapping-target"></a>
El agente de mensajes de destino. Puede elegir entre las siguientes opciones:  <a name="mqtt-bridge-component-configuration-topic-types"></a>
+ `LocalMqtt`: el agente MQTT local donde se comunican los dispositivos de cliente.
+ `Pubsub`— El agente de publish/subscribe mensajes local de Greengrass.
+ `IotCore`— El intermediario de mensajes AWS IoT Core MQTT.
**nota**  <a name="mqtt-bridge-component-iotcore-qos-1-note"></a>
El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte [Configuración de los tiempos de espera y los ajustes de caché de MQTT](configure-greengrass-core-v2.md#configure-mqtt).
`source` y `target` deben ser diferentes.

**Example Ejemplo: actualización de la combinación de configuraciones**  <a name="mqtt-bridge-component-configuration-example-no-prefix"></a>
El siguiente ejemplo de actualización de configuración especifica la retransmisión de mensajes desde los dispositivos cliente a los AWS IoT Core temas `clients/MyClientDevice1/hello/world` y`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"
    }
  }
}
```

------

## Archivo de registro local
<a name="mqtt-bridge-component-log-file"></a>

Este componente utiliza el mismo archivo de registro que el componente [núcleo de Greengrass](greengrass-nucleus-component.md).

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

```
/greengrass/v2/logs/greengrass.log
```

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

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

------

**Visualización de los registros de este componente**
+ Ejecute el siguiente comando en el dispositivo de núcleo para ver el archivo de registro de este componente en tiempo real. Sustituya `/greengrass/v2` o *C:\$1greengrass\$1v2* por la ruta a la carpeta AWS IoT Greengrass raíz.

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

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Registros de cambios
<a name="mqtt-bridge-component-changelog"></a>

En la siguiente tabla, se describen los cambios en cada versión del componente.


|  **Versión**  |  **Cambios**  | 
| --- | --- | 
|  2.3.2  |  Versión actualizada para la versión 2.5.0 de [autenticación de dispositivos de cliente](client-device-auth-component.md).  | 
| 2.3.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
| 2.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/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/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.5  |  Versión actualizada para la versión 2.4.0 de [autenticación de dispositivos de cliente](client-device-auth-component.md).  | 
|  2.2.4  |  Versión actualizada para la versión 2.3.0 de [autenticación de dispositivos de cliente](client-device-auth-component.md) de Greengrass.  | 
|  2.2.3  |  Esta versión contiene correcciones de errores y mejoras.  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/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/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/mqtt-bridge-component.html)  | 
|  2.0.1  |  Esta versión incluye correcciones de errores y mejoras.  | 
|  2.0.0  |  Versión inicial.  | 