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 de MQTT (aws.greengrass.clientdevices.mqtt.Bridge) transmite mensajes MQTT entre los dispositivos de cliente, la publicación/suscripción local 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

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.

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.

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

  • AWS IoT Core: el agente AWS IoT Core MQTT gestiona los mensajes entre dispositivos IoT y destinos de la Nube de AWS. Para obtener más información acerca de cómo interactuar con estos mensajes en los componentes de Greengrass, consulte Publicar/suscribir mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

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

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

Cuando implementa un componente, AWS IoT Greengrass también implementa 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 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. 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 >=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 >=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 >=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 >=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 >=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 >=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 >=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.

Configuración

Este componente ofrece los siguientes parámetros de configuración que puede personalizar cuando implemente 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 asignación de temas define el tema, el tipo de origen y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de esta asignación de temas. Sustituya topicMappingNameKey por un nombre que lo ayude a identificar esta asignación 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 en la Guía para desarrolladores de AWS IoT Core.

nota

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.

targetTopicPrefix

El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.

source

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

target

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

mqtt5RouteOptions

(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. Sustituya mqtt5RouteOptionsNameKey por la topicMappingNameKey coincidente definida en el campo mqttTopicMapping.

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 MQTT5 corredores (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

connAckTimeoutMs

(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)

keepAliveTimeoutSeconds

(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

maxReconnectDelayMs

(Opcional) Tiempo máximo en segundos que MQTT se vuelve a conectar.

Valor predeterminado: 30 000 (30 segundos)

minReconnectDelayMs

(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

(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 sustituya port por el puerto en el que opera el agente 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 archivo de configuración especifica lo siguiente:

  • Transmita mensajes desde los dispositivos de cliente a temas AWS IoT Core que coincidan con el filtro de temas clients/+/hello/world.

  • Transmita los mensajes desde los dispositivos de cliente a la publicación/suscripción local en temas que coinciden el filtro de temas clients/+/detections y agregue el prefijo events/input/ 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 de cliente a AWS IoT Core en los temas que coincidan con el filtro de temas clients/+/status y agregue el prefijo $aws/rules/StatusUpdateRule/ al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una regla AWS IoT denominada StatusUpdateRule para la reducción de costos mediante la ingesta básica.

{ "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: 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

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

El nombre de esta asignación de temas. Sustituya topicMappingNameKey por un nombre que lo ayude a identificar esta asignación 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 en la Guía para desarrolladores de AWS IoT Core.

nota

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.

targetTopicPrefix

El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.

source

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

target

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

brokerUri

(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 sustituya port por el puerto en el que opera el agente 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 archivo de configuración especifica lo siguiente:

  • Transmita mensajes desde los dispositivos de cliente a temas AWS IoT Core que coincidan con el filtro de temas clients/+/hello/world.

  • Transmita los mensajes desde los dispositivos de cliente a la publicación/suscripción local en temas que coinciden el filtro de temas clients/+/detections y agregue el prefijo events/input/ 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 de cliente a AWS IoT Core en los temas que coincidan con el filtro de temas clients/+/status y agregue el prefijo $aws/rules/StatusUpdateRule/ al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una regla AWS IoT denominada StatusUpdateRule para la reducción de costos mediante la ingesta básica.

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

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

El nombre de esta asignación de temas. Sustituya topicMappingNameKey por un nombre que lo ayude a identificar esta asignación 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 en la Guía para desarrolladores de AWS IoT Core.

nota

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.

targetTopicPrefix

El prefijo que se agrega al tema de destino cuando este componente transmite el mensaje.

source

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

target

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

brokerUri

(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 sustituya port por el puerto en el que opera el agente MQTT: ssl://localhost:port.

Valor predeterminado: ssl://localhost:8883

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

El siguiente ejemplo de archivo de configuración especifica lo siguiente:

  • Transmita mensajes desde los dispositivos de cliente a temas AWS IoT Core que coincidan con el filtro de temas clients/+/hello/world.

  • Transmita los mensajes desde los dispositivos de cliente a la publicación/suscripción local en temas que coinciden el filtro de temas clients/+/detections y agregue el prefijo events/input/ 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 de cliente a AWS IoT Core en los temas que coincidan con el filtro de temas clients/+/status y agregue el prefijo $aws/rules/StatusUpdateRule/ al tema de destino. En este ejemplo, se transmiten estos mensajes directamente a una regla AWS IoT denominada StatusUpdateRule para la reducción de costos mediante la ingesta básica.

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

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

El nombre de esta asignación de temas. Sustituya topicMappingNameKey por un nombre que lo ayude a identificar esta asignación 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 en la Guía para desarrolladores de AWS IoT Core.

source

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

target

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

brokerUri

(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 sustituya port por el puerto en el que opera el agente MQTT: ssl://localhost:port.

Valor predeterminado: ssl://localhost:8883

ejemplo Ejemplo: actualización de la 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 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" } } }
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 asignación de temas define el tema, el tipo de origen y el tipo de destino.

Este objeto contiene la siguiente información:

topicMappingNameKey

El nombre de esta asignación de temas. Sustituya topicMappingNameKey por un nombre que lo ayude a identificar esta asignación 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 en la Guía para desarrolladores de AWS IoT Core.

source

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

target

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

  • LocalMqtt: el agente MQTT local donde se comunican los dispositivos de cliente.

  • Pubsub: el agente local de la mensajería de publicación y suscripción de Greengrass.

  • IotCore: el agente de mensajes AWS IoT Core MQTT.

    nota

    El puente de MQTT usa QoS 1 para publicar y suscribir en AWS IoT Core, incluso cuando un dispositivo de cliente usa QoS 0 para publicar y suscribirse al agente MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir mensajes MQTT desde los dispositivos de cliente del agente MQTT local a AWS IoT Core. Para obtener más información acerca de la configuración de MQTT en los dispositivos principales, consulte Configure los MQTT tiempos de espera y los ajustes de la memoria caché.

source y target deben ser diferentes.

ejemplo Ejemplo: actualización de la 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 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

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
Visualización de 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. Reemplace /greengrass/v2 o C:\greengrass\v2 por la ruta a la carpeta raíz de AWS IoT Greengrass.

    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 de 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

Suma compatibilidad con MQTT5 para conectar orígenes MQTT locales y de AWS IoT Core.

2.2.6

Nuevas características

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

2.2.4

Versión actualizada para la versión 2.3.0 de autenticación de dispositivos de 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

Soluciona problemas que pueden provocar que el puente de MQTT no pueda suscribirse a los temas MQTT.

2.2.0

Nuevas características
  • Suma 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 característica requiere la versión 2.6.0 o posterior del componente núcleo de Greengrass.

  • Agrega la opción targetTopicPrefix, que puede especificar, para configurar el puente MQTT de forma que agregue 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 administra 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
  • Agrega el parámetro brokerUri, que le permite utilizar un puerto de agente MQTT no predeterminado.

2.0.1

Esta versión incluye correcciones de errores y mejoras.

2.0.0

Versión inicial.