Puente MQTT - AWS IoT Greengrass

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

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 cliente en componentes personalizados y sincronizar los dispositivos cliente con los. Nube de AWS

nota

Los dispositivos cliente son dispositivos IoT locales que se conectan a un dispositivo central de Greengrass para enviar mensajes MQTT y datos para su procesamiento. Para obtener más información, consulte Interactúa con dispositivos IoT locales.

Puede usar este componente para retransmitir mensajes entre los siguientes agentes de mensajes:

  • MQTT local: el intermediario MQTT local gestiona los mensajes entre los dispositivos cliente y un dispositivo principal.

  • Publicación/suscripción local: el agente de mensajes local de Greengrass gestiona los mensajes entre los componentes de un dispositivo central. Para obtener más información sobre cómo interactuar con estos mensajes en los componentes de Greengrass, consulte. Publicar/suscribir mensajes locales

  • 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 sobre cómo interactuar con estos mensajes en los componentes de Greengrass, consulte. Publicar/suscribir mensajes MQTT AWS IoT Core

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

Versiones

Este componente tiene las siguientes versiones:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Tipo

Este componente es un componente de complemento ()aws.greengrass.plugin. El núcleo de Greengrass 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.

Este componente utiliza el mismo archivo de registro que el núcleo de Greengrass. Para obtener más información, consulte Supervisar AWS IoT Greengrass registros.

Para obtener más información, consulte Tipos de componentes.

Sistema operativo

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

  • Linux

  • Windows

Requisitos

Este componente tiene los siguientes requisitos:

  • Si configura el componente intermediario MQTT del dispositivo principal para que utilice un puerto que no sea el puerto 8883 predeterminado, debe usar MQTT bridge v2.1.0 o posterior. Configúrelo para que se conecte al puerto en el que opera el intermediario.

  • Se admite la ejecución del componente puente MQTT en una VPC.

Dependencias

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 implementarlo correctamente. En esta sección se enumeran las dependencias de las versiones publicadas 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.AWS IoT Greengrass En la página de detalles del componente, busque la lista de dependencias.

2.3.2

La siguiente tabla muestra las dependencias de la versión 2.3.2 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Autenticación del dispositivo cliente >=2.2.0 <2.6.0 Rígido
2.3.0 and 2.3.1

La siguiente tabla muestra 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 cliente >=2.2.0 <2.5.0 Rígido
2.2.5 and 2.2.6

La siguiente tabla muestra 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 cliente >=2.2.0 <2.5.0 Rígido
2.2.3 and 2.2.4

La siguiente tabla muestra 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 cliente >=2.2.0 <2.4.0 Rígido
2.2.0 – 2.2.2

La siguiente tabla muestra 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 cliente >=2.2.0 <2.3.0 Rígido
2.1.1

La siguiente tabla muestra las dependencias de la versión 2.1.1 de este componente.

Dependencia Versiones compatibles Tipo de dependencia
Autenticación del dispositivo cliente >=2.0.0 <2.2.0 Rígido
2.0.0 to 2.1.0

La siguiente tabla 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 cliente >=2.0.0 <2.1.0 Rígido

Para obtener más información sobre las dependencias de los componentes, consulta la referencia de recetas de componentes.

Configuración

Este componente proporciona los siguientes parámetros de configuración que puede personalizar al implementar el componente.

2.3.0 – 2.3.2
mqttTopicMapping

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 mapeo de temas define el tema, el tipo de fuente y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de este mapeo de temas. Sustituya topicMappingNameKey por un nombre que le 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 corredores de origen y de destino.

Puede utilizar los caracteres comodín de temas + y de # MQTT para transmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte los temas de MQTT en la AWS IoT Core Guía para desarrolladores.

targetTopicPrefix

El prefijo que se añade al tema de destino cuando este componente transmite el mensaje.

source

El intermediario de mensajes de origen. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

target

El intermediario de mensajes de destino. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

mqtt5 RouteOptions

(Opcional) Proporciona opciones para configurar las asignaciones de temas para unir los mensajes del tema de origen al tema de destino.

Este objeto contiene la siguiente información:

mqtt5 RouteOptionsNameKey

El nombre de las opciones de ruta para el mapeo de un tema. Sustituya mqtt5 RouteOptionsNameKey por la topicMappingNameclave correspondiente definida en el mqttTopicMapping campo.

Este objeto contiene la siguiente información:

No es local

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

noLocalsolo se admite en las rutas en las que source estáLocalMqtt.

Predeterminado: false

retainAsPublished

(Opcional) Cuando está habilitada, los mensajes reenviados por el puente tienen la misma retain marca que los mensajes publicados en el intermediario para esa ruta.

retainAsPublishedsolo se admite en las rutas en las que source estáLocalMqtt.

Predeterminado: false

mqtt

(Opcional) Configuración del protocolo MQTT para comunicarse con el intermediario local.

versión

(Opcional) La versión del protocolo MQTT utilizada por el puente para comunicarse con el intermediario 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 target campo source o del mqttTopicMapping objeto esté establecido en. LocalMqtt Si elige mqtt5 esta opción, debe usar laBróker MQTT 5 (EMQX).

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

connAckTimeoutSra

(Opcional) Intervalo de tiempo para esperar un paquete CONNACK antes de cerrar la conexión.

Predeterminado: 20000 (20 segundos)

pingTimeoutMs

(Opcional) El tiempo en milisegundos que el puente espera a recibir un mensaje PINGACK del intermediario 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

Predeterminado: 30000 (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. Este valor debe ser superior a. pingTimeoutMs

Predeterminado: 60

maxReconnectDelaySrta.

(Opcional) El tiempo máximo en segundos que tarda MQTT en volver a conectarse.

Predeterminado: 30000 (30 segundos)

minReconnectDelaySrta.

(Opcional) El tiempo mínimo en segundos para que MQTT se vuelva a conectar.

Reciba el máximo

(Opcional) El número máximo de paquetes QoS1 no confirmados que el puente puede enviar.

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 intermediario local.

Predeterminado: 4294967295 (la sesión nunca caduca)

brokerUri

(Opcional) El URI del broker MQTT local. Debe especificar este parámetro si configura el broker MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustituya el puerto por el puerto en el que opera el corredor 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

ejemplo Ejemplo: actualización de la combinación de configuraciones

El siguiente ejemplo de actualización 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 desde los dispositivos cliente a los usuarios locales, publique o suscriba los temas que coincidan con el filtro de temas y añada el events/input/ prefijo al clients/+/detections tema de destino. El tema de destino resultante coincide con el filtro de temas. events/input/clients/+/detections

  • Transmita los mensajes de los dispositivos cliente a los AWS IoT Core temas que coincidan con el clients/+/status filtro de temas y añada el $aws/rules/StatusUpdateRule/ prefijo al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una AWS IoT regla denominada StatusUpdateRule reducción de costes mediante Basic Ingest.

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

El siguiente ejemplo de configuración actualiza lo siguiente:

  • Permite que el puente utilice el protocolo MQTT 5 con el intermediario local.

  • Configura MQTT keep como configuración publicada para la ClientDeviceHelloWorld asignación de temas.

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

Los mapeos 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 mapeo de temas define el tema, el tipo de fuente y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de este mapeo de temas. Sustituya topicMappingNameKey por un nombre que le 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 corredores de origen y de destino.

Puede utilizar los caracteres comodín de temas + y de # MQTT para transmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte los temas de MQTT en la AWS IoT Core Guía para desarrolladores.

targetTopicPrefix

El prefijo que se añade al tema de destino cuando este componente transmite el mensaje.

source

El intermediario de mensajes de origen. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

target

El intermediario de mensajes de destino. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

brokerUri

(Opcional) El URI del broker MQTT local. Debe especificar este parámetro si configura el broker MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustituya el puerto por el puerto en el que opera el corredor 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

ejemplo Ejemplo: actualización de la combinación de configuraciones

El siguiente ejemplo de actualización 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 desde los dispositivos cliente a los usuarios locales, publique o suscriba los temas que coincidan con el filtro de temas y añada el events/input/ prefijo al clients/+/detections tema de destino. El tema de destino resultante coincide con el filtro de temas. events/input/clients/+/detections

  • Transmita los mensajes de los dispositivos cliente a los AWS IoT Core temas que coincidan con el clients/+/status filtro de temas y añada el $aws/rules/StatusUpdateRule/ prefijo al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una AWS IoT regla denominada StatusUpdateRule reducción de costes mediante Basic Ingest.

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

Los mapeos 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 mapeo de temas define el tema, el tipo de fuente y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de este mapeo de temas. Sustituya topicMappingNameKey por un nombre que le 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 corredores de origen y de destino.

Puede utilizar los caracteres comodín de temas + y de # MQTT para transmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte los temas de MQTT en la AWS IoT Core Guía para desarrolladores.

targetTopicPrefix

El prefijo que se añade al tema de destino cuando este componente transmite el mensaje.

source

El intermediario de mensajes de origen. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

target

El intermediario de mensajes de destino. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

brokerUri

(Opcional) El URI del broker MQTT local. Debe especificar este parámetro si configura el broker MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustituya el puerto por el puerto en el que opera el corredor MQTT:. ssl://localhost:port

Valor predeterminado: ssl://localhost:8883

ejemplo Ejemplo: actualización de combinación de configuraciones

El siguiente ejemplo de actualización 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 desde los dispositivos cliente a los usuarios locales, publique o suscriba los temas que coincidan con el filtro de temas y añada el events/input/ prefijo al clients/+/detections tema de destino. El tema de destino resultante coincide con el filtro de temas. events/input/clients/+/detections

  • Transmita los mensajes de los dispositivos cliente a los AWS IoT Core temas que coincidan con el clients/+/status filtro de temas y añada el $aws/rules/StatusUpdateRule/ prefijo al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una AWS IoT regla denominada StatusUpdateRule reducción de costes mediante Basic Ingest.

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

Los mapeos 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 mapeo de temas define el tema, el tipo de fuente y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de este mapeo de temas. Sustituya topicMappingNameKey por un nombre que le 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 corredores de origen y de destino.

Si especifica el intermediario LocalMqtt o el intermediario IotCore fuente, puede utilizar los caracteres comodín de temas + y # MQTT para retransmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte los temas de MQTT en la AWS IoT Core Guía para desarrolladores.

source

El agente de mensajes de origen. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

target

El intermediario de mensajes de destino. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

brokerUri

(Opcional) El URI del broker MQTT local. Debe especificar este parámetro si configura el broker MQTT para que utilice un puerto diferente al puerto predeterminado 8883. Utilice el siguiente formato y sustituya el puerto por el puerto en el que opera el corredor MQTT:. ssl://localhost:port

Valor predeterminado: ssl://localhost:8883

ejemplo Ejemplo: actualización de combinación de configuraciones

El siguiente ejemplo de actualización de configuración especifica la retransmisión de mensajes desde los dispositivos cliente AWS IoT Core a los 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

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 mapeo de temas define el tema, el tipo de fuente y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de este mapeo de temas. Sustituya topicMappingNameKey por un nombre que le 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 corredores de origen y de destino.

Si especifica el intermediario LocalMqtt o el intermediario IotCore fuente, puede utilizar los caracteres comodín de temas + y # MQTT para retransmitir mensajes sobre todos los temas que coincidan con un filtro de temas. Para obtener más información, consulte los temas de MQTT en la AWS IoT Core Guía para desarrolladores.

source

El agente de mensajes de origen. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

target

El intermediario de mensajes de destino. Puede elegir entre las siguientes opciones:

  • LocalMqtt— El intermediario MQTT local donde se comunican los dispositivos cliente.

  • Pubsub— El intermediario local de mensajes de publicación/suscripción de Greengrass.

  • IotCore— El intermediario de mensajes AWS IoT Core MQTT.

    nota

    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 sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los tiempos de espera y los ajustes de caché de MQTT

sourcey target debe ser diferente.

ejemplo Ejemplo: actualización de combinación de configuraciones

El siguiente ejemplo de actualización de configuración especifica la retransmisión de mensajes desde los dispositivos cliente AWS IoT Core a los 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" } } }

Archivo de registro local

Este componente utiliza el mismo archivo de registro que el componente núcleo de Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Para ver los registros de este componente
  • Ejecute el siguiente comando en el dispositivo principal para ver el archivo de registro de este componente en tiempo real. Sustituya /greengrass/v2 o C:\greengrass\v2 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

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 cliente.

2.3.1
Mejoras y correcciones de errores

Soluciona un problema por el que el cliente MQTT local entra en un bucle de desconexión.

2.3.0
Nuevas características

Añade compatibilidad con MQTT5 para conectar fuentes MQTT locales AWS IoT Core y entre ellas.

2.2.6

Nuevas características

Añade una nueva opción de configuración. startupTimeoutSeconds

2.2.5

Versión actualizada para la versión 2.4.0 de autenticación de dispositivos cliente.

2.2.4

Versión actualizada para la versión 2.3.0 de autenticación de dispositivos cliente de Greengrass.

2.2.3

Esta versión contiene correcciones de errores y mejoras.

2.2.2

Mejoras y correcciones de errores
  • Ajustes de registro.

2.2.1

Mejoras y correcciones de errores

Corrige problemas que podían provocar que MQTT Bridge no pudiera suscribirse a los temas de MQTT.

2.2.0

Nuevas características
  • Añade compatibilidad con los caracteres comodín (#y+) de los temas MQTT cuando se especifica la publicación o suscripción local como agente de mensajes de origen.

    Esta función requiere la versión 2.6.0 o posterior del componente núcleo de Greengrass.

  • Añade la targetTopicPrefix opción, que puede especificar, para configurar el puente MQTT de forma que añada un prefijo al tema de destino cuando retransmita un mensaje.

2.1.1

Mejoras y correcciones de errores
  • Soluciona problemas relacionados con la forma en que este componente gestiona las actualizaciones de restablecimiento de la configuración.

  • Reduce la frecuencia con la que el cliente MQTT se desconecta cuando los certificados rotan.

2.1.0

Nuevas características
  • Añade el brokerUri parámetro, que le permite utilizar un puerto de intermediario MQTT no predeterminado.

2.0.1

Esta versión incluye correcciones de errores y mejoras.

2.0.0

Versión inicial.