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.
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.
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:
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:
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.
- 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.
- 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.
- 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.
- 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.
- 2.1.1
-
En la siguiente tabla, se muestran las dependencias de la versión 2.1.1 de este componente.
- 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.
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.
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.
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.
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:
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:
{
"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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
-
|
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
|
|
2.0.1
|
Esta versión incluye correcciones de errores y mejoras.
|
2.0.0
|
Versión inicial.
|