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

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

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 Supervise AWS IoT Greengrass los 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 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

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

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

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. mqtt5RouteOptionsNameKeySustitú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).

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

maxReconnectDelaySrta.

(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

(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

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 cliente a AWS IoT Core temas que coincidan con el filtro de clients/+/hello/world temas.

  • 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 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 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. topicMappingNameKeySustitú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 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 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 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.

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

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

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 cliente a AWS IoT Core temas que coincidan con el filtro de clients/+/hello/world temas.

  • 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 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 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. topicMappingNameKeySustitú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 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 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 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.

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

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 sustitúyalo por port el puerto en el que opera el broker 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 cliente a AWS IoT Core temas que coincidan con el filtro de clients/+/hello/world temas.

  • 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 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 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. topicMappingNameKeySustitú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 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 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 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.

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

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 sustitúyalo por port el puerto en el que opera el broker 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 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

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

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

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 a los AWS IoT Core temas clients/MyClientDevice1/hello/world yclients/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 de núcleo 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 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

Añade MQTT5 soporte para crear puentes entre fuentes MQTT locales AWS IoT Core y entre ellas.

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.