Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pont MQTT
Le composant de pont MQTT (aws.greengrass.clientdevices.mqtt.Bridge) relaie les messages MQTT entre les appareils clients, le publish/subscribe Greengrass local et. AWS IoT Core Vous pouvez utiliser ce composant pour agir sur les messages MQTT des appareils clients dans des composants personnalisés et synchroniser les appareils clients avec le AWS Cloud.
Les appareils clients sont des appareils IoT locaux qui se connectent à un appareil central Greengrass pour envoyer des messages MQTT et des données à traiter. Pour de plus amples informations, veuillez consulter Interagissez avec les appareils IoT locaux.
Vous pouvez utiliser ce composant pour relayer des messages entre les courtiers de messages suivants :
-
MQTT local — Le courtier MQTT local gère les messages entre les appareils clients et un périphérique principal.
-
Local publish/subscribe : le courtier de messages Greengrass local gère les messages entre les composants d'un périphérique principal. Pour plus d'informations sur la façon d'interagir avec ces messages dans les composants Greengrass, consultezPublier/souscrire des messages locaux.
-
AWS IoT Core — Le broker AWS IoT Core MQTT gère les messages entre les appareils IoT et les AWS Cloud destinations. Pour plus d'informations sur la façon d'interagir avec ces messages dans les composants Greengrass, consultezPublish/subscribe AWS IoT Core Messages MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
Versions
Les versions de ce composant sont les suivantes :
Type
Ce composant est un composant de plug-in (aws.greengrass.plugin). Le noyau Greengrass exécute ce composant dans la même machine virtuelle Java (JVM) que le noyau. Le noyau redémarre lorsque vous modifiez la version de ce composant sur le périphérique principal.
Ce composant utilise le même fichier journal que le noyau Greengrass. Pour de plus amples informations, veuillez consulter AWS IoT Greengrass Journaux de surveillance.
Pour de plus amples informations, veuillez consulter Types de composant.
Système d’exploitation
Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
Exigences
Ce composant répond aux exigences suivantes :
-
Si vous configurez le composant broker MQTT du périphérique principal pour utiliser un port autre que le port par défaut 8883, vous devez utiliser le pont MQTT v2.1.0 ou version ultérieure. Configurez-le pour qu'il se connecte sur le port sur lequel le broker opère.
-
Le composant de pont MQTT est pris en charge pour fonctionner dans un VPC.
Dépendances
Lorsque vous déployez un composant, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les versions publiées de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances pour chaque version du composant dans la AWS IoT Greengrass console. Sur la page des détails des composants, recherchez la liste des dépendances.
- 2.3.2
-
Le tableau suivant répertorie les dépendances pour la version 2.3.2 de ce composant.
- 2.3.0 and 2.3.1
-
Le tableau suivant répertorie les dépendances pour les versions 2.3.0 et 2.3.1 de ce composant.
- 2.2.5 and 2.2.6
-
Le tableau suivant répertorie les dépendances pour les versions 2.2.5 et 2.2.6 de ce composant.
- 2.2.3 and 2.2.4
-
Le tableau suivant répertorie les dépendances pour les versions 2.2.3 et 2.2.4 de ce composant.
- 2.2.0 – 2.2.2
-
Le tableau suivant répertorie les dépendances pour les versions 2.2.0 à 2.2.2 de ce composant.
- 2.1.1
-
Le tableau suivant répertorie les dépendances pour la version 2.1.1 de ce composant.
- 2.0.0 to 2.1.0
-
Le tableau suivant répertorie les dépendances pour les versions 2.0.0 à 2.1.0 de ce composant.
Pour plus d'informations sur les dépendances des composants, consultez la référence des recettes des composants.
Configuration
Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.
- 2.3.0 – 2.3.2
-
mqttTopicMapping
-
Les mappages thématiques que vous souhaitez relier. Ce composant s'abonne aux messages de la rubrique source et publie les messages qu'il reçoit sur la rubrique de destination. Chaque mappage thématique définit le sujet, le type de source et le type de destination.
Cet objet contient les informations suivantes :
topicMappingNameKey
-
Le nom de ce mappage de sujets. Remplacez-le topicMappingNameKey par un nom qui vous aide à identifier ce mappage de sujets.
Cet objet contient les informations suivantes :
topic
-
Le sujet ou le filtre de sujet qui fait le lien entre les courtiers source et cible.
Vous pouvez utiliser les caractères génériques + et # MQTT pour relayer des messages sur tous les sujets qui correspondent à un filtre thématique. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.
Pour utiliser les caractères génériques des rubriques MQTT avec le courtier Pubsub source, vous devez utiliser la version 2.6.0 ou ultérieure du composant Greengrass nucleus. Noyau Greengrass
targetTopicPrefix
-
Le préfixe à ajouter à la rubrique cible lorsque ce composant relaie le message.
source
-
Le courtier de messages source. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
target
-
Le courtier de messages cible. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
- matt5 RouteOptions
-
(Facultatif) Fournit des options permettant de configurer des mappages de rubriques afin de relier les messages de la rubrique source à la rubrique de destination.
Cet objet contient les informations suivantes :
mqtt5RouteOptionsNameKey
-
Le nom des options d'itinéraire pour un mappage thématique. Remplacez mqtt5RouteOptionsNameKey par la correspondance topicMappingNameKey définie dans le mqttTopicMapping champ.
Cet objet contient les informations suivantes :
- Pas de local
-
(Facultatif) Lorsque cette option est activée, la passerelle ne transmet pas les messages concernant un sujet publié par la passerelle elle-même. Utilisez-le pour éviter les boucles, comme suit :
{
"mqtt5RouteOptions": {
"toIoTCore": {
"noLocal": true
}
},
"mqttTopicMapping": {
"toIoTCore": {
"topic": "device",
"source": "LocalMqtt",
"target": "IotCore"
},
"toLocal": {
"topic": "device",
"source": "IotCore",
"target": "LocalMqtt"
}
}
}
noLocaln'est pris en charge que pour les itinéraires où source se trouveLocalMqtt.
Valeur par défaut : false
- conserver AsPublished
-
(Facultatif) Lorsque cette option est activée, les messages transférés par le pont ont le même retain indicateur que les messages publiés au courtier pour cet itinéraire.
retainAsPublishedn'est pris en charge que pour les itinéraires où source se trouveLocalMqtt.
Valeur par défaut : false
- mqtt
-
(Facultatif) Paramètres du protocole MQTT pour communiquer avec le courtier local.
- version
-
(Facultatif) Version du protocole MQTT utilisée par le pont pour communiquer avec le courtier local. Doit être identique à la version MQTT sélectionnée dans la configuration du noyau.
Choisissez parmi les options suivantes :
Vous devez déployer un broker MQTT lorsque le target champ source ou de l'mqttTopicMappingobjet est défini sur. LocalMqtt Si vous choisissez mqtt5 cette option, vous devez utiliser leCourtier MQTT 5 (EMQX).
Valeur par défaut : mqtt3
- Jack TimeoutSeconds
-
(Facultatif) Intervalle de temps pour attendre les paquets PUBACK, SUBACK ou UNSUBACK avant d'échouer l'opération.
Par défaut : 60
- conn AckTimeoutMs
-
(Facultatif) Intervalle de temps pendant lequel un paquet CONNACK est attendu avant d'arrêter la connexion.
Par défaut : 20 000 (20 secondes)
- ping TimeoutMs
-
(Facultatif) Durée en millisecondes pendant laquelle le pont attend de recevoir un message PINGACK de la part du courtier local. Si l'attente dépasse le délai imparti, le pont se ferme puis rouvre la connexion MQTT. Cette valeur doit être inférieure àkeepAliveTimeoutSeconds.
Par défaut : 30 000 (30 secondes)
- garder AliveTimeoutSeconds
-
(Facultatif) Le temps en secondes entre chaque message PING envoyé par le pont pour maintenir la connexion MQTT active. Cette valeur doit être supérieure àpingTimeoutMs.
Par défaut : 60
- max ReconnectDelayMs
-
(Facultatif) Durée maximale en secondes pour que MQTT se reconnecte.
Par défaut : 30 000 (30 secondes)
- min ReconnectDelayMs
-
(Facultatif) Durée minimale en secondes pour que MQTT se reconnecte.
- Recevez un maximum
-
(Facultatif) Le nombre maximum de paquets QoS1 non reconnus que le pont peut envoyer.
Par défaut : 100
- maximum PacketSize
-
Le nombre maximum d'octets que le client acceptera pour un paquet MQTT.
Par défaut : null (aucune limite)
- séance ExpiryInterval
-
(Facultatif) Durée en secondes que vous pouvez demander pour qu'une session dure entre le pont et le courtier local.
Par défaut : 4294967295 (la session n'expire jamais)
brokerUri
-
(Facultatif) L'URI du courtier MQTT local. Vous devez spécifier ce paramètre si vous configurez le broker MQTT pour utiliser un port différent du port par défaut 8883. Utilisez le format suivant et remplacez-le port par le port sur lequel le courtier MQTT opère :ssl://localhost:port.
Valeur par défaut : ssl://localhost:8883
- démarrage TimeoutSeconds
-
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un BROKEN état supérieur à ce délai.
Valeur par défaut : 120
Exemple Exemple : fusion de configuration et mise à jour
L'exemple de mise à jour de configuration suivant spécifie les éléments suivants :
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/hello/world thématique.
-
Transmettez les messages des appareils clients vers publish/subscribe le local sur des sujets correspondant au filtre clients/+/detections thématique, et ajoutez le events/input/ préfixe à la rubrique cible. Le sujet cible qui en résulte correspond au filtre events/input/clients/+/detections thématique.
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/status thématique, puis ajoutez le $aws/rules/StatusUpdateRule/ préfixe à la rubrique cible. Cet exemple transmet ces messages directement à une AWS IoT règle nommée pour réduire les coûts StatusUpdateRule à l'aide de Basic Ingest.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
Exemple Exemple : Configuration de MQTT 5
L'exemple de configuration suivant met à jour les éléments suivants :
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
},
"mqtt5RouteOptions": {
"ClientDeviceHelloWorld": {
"retainAsPublished": true
}
},
"mqtt": {
"version": "mqtt5"
}
}
- 2.2.6
-
mqttTopicMapping
-
Les mappages thématiques que vous souhaitez relier. Ce composant s'abonne aux messages de la rubrique source et publie les messages qu'il reçoit sur la rubrique de destination. Chaque mappage thématique définit le sujet, le type de source et le type de destination.
Cet objet contient les informations suivantes :
topicMappingNameKey
-
Le nom de ce mappage de sujets. Remplacez-le topicMappingNameKey par un nom qui vous aide à identifier ce mappage de sujets.
Cet objet contient les informations suivantes :
topic
-
Le sujet ou le filtre de sujet qui permet de faire le lien entre les courtiers source et cible.
Vous pouvez utiliser les caractères génériques + et # MQTT pour relayer des messages sur tous les sujets qui correspondent à un filtre thématique. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.
Pour utiliser les caractères génériques des rubriques MQTT avec le courtier Pubsub source, vous devez utiliser la version 2.6.0 ou ultérieure du composant Greengrass nucleus. Noyau Greengrass
targetTopicPrefix
-
Le préfixe à ajouter à la rubrique cible lorsque ce composant relaie le message.
source
-
Le courtier de messages source. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
target
-
Le courtier de messages cible. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
brokerUri
-
(Facultatif) L'URI du courtier MQTT local. Vous devez spécifier ce paramètre si vous configurez le broker MQTT pour utiliser un port différent du port par défaut 8883. Utilisez le format suivant et remplacez-le port par le port sur lequel le courtier MQTT opère :ssl://localhost:port.
Valeur par défaut : ssl://localhost:8883
- démarrage TimeoutSeconds
-
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un BROKEN état supérieur à ce délai.
Valeur par défaut : 120
Exemple Exemple : fusion de configuration et mise à jour
L'exemple de mise à jour de configuration suivant spécifie les éléments suivants :
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/hello/world thématique.
-
Transmettez les messages des appareils clients vers publish/subscribe le local sur des sujets correspondant au filtre clients/+/detections thématique, et ajoutez le events/input/ préfixe à la rubrique cible. Le sujet cible qui en résulte correspond au filtre events/input/clients/+/detections thématique.
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/status thématique, puis ajoutez le $aws/rules/StatusUpdateRule/ préfixe à la rubrique cible. Cet exemple transmet ces messages directement à une AWS IoT règle nommée pour réduire les coûts StatusUpdateRule à l'aide de Basic Ingest.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
- 2.2.0 - 2.2.5
-
mqttTopicMapping
-
Les mappages thématiques que vous souhaitez relier. Ce composant s'abonne aux messages de la rubrique source et publie les messages qu'il reçoit sur la rubrique de destination. Chaque mappage thématique définit le sujet, le type de source et le type de destination.
Cet objet contient les informations suivantes :
topicMappingNameKey
-
Le nom de ce mappage de sujets. Remplacez-le topicMappingNameKey par un nom qui vous aide à identifier ce mappage de sujets.
Cet objet contient les informations suivantes :
topic
-
Le sujet ou le filtre de sujet qui fait le lien entre les courtiers source et cible.
Vous pouvez utiliser les caractères génériques + et # MQTT pour relayer des messages sur tous les sujets qui correspondent à un filtre thématique. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.
Pour utiliser les caractères génériques des rubriques MQTT avec le courtier Pubsub source, vous devez utiliser la version 2.6.0 ou ultérieure du composant Greengrass nucleus. Noyau Greengrass
targetTopicPrefix
-
Le préfixe à ajouter à la rubrique cible lorsque ce composant relaie le message.
source
-
Le courtier de messages source. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
target
-
Le courtier de messages cible. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
brokerUri
-
(Facultatif) L'URI du courtier MQTT local. Vous devez spécifier ce paramètre si vous configurez le broker MQTT pour utiliser un port différent du port par défaut 8883. Utilisez le format suivant et remplacez-le port par le port sur lequel le courtier MQTT opère :ssl://localhost:port.
Valeur par défaut : ssl://localhost:8883
Exemple Exemple : fusion de configuration et mise à jour
L'exemple de mise à jour de configuration suivant spécifie les éléments suivants :
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/hello/world thématique.
-
Transmettez les messages des appareils clients vers publish/subscribe le local sur des sujets correspondant au filtre clients/+/detections thématique, et ajoutez le events/input/ préfixe à la rubrique cible. Le sujet cible qui en résulte correspond au filtre events/input/clients/+/detections thématique.
-
Transmettez les messages des appareils clients vers AWS IoT Core des sujets correspondant au filtre clients/+/status thématique, puis ajoutez le $aws/rules/StatusUpdateRule/ préfixe à la rubrique cible. Cet exemple transmet ces messages directement à une AWS IoT règle nommée pour réduire les coûts StatusUpdateRule à l'aide de Basic Ingest.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
- 2.1.x
-
mqttTopicMapping
-
Les mappages thématiques que vous souhaitez relier. Ce composant s'abonne aux messages de la rubrique source et publie les messages qu'il reçoit sur la rubrique de destination. Chaque mappage thématique définit le sujet, le type de source et le type de destination.
Cet objet contient les informations suivantes :
topicMappingNameKey
-
Le nom de ce mappage de sujets. Remplacez-le topicMappingNameKey par un nom qui vous aide à identifier ce mappage de sujets.
Cet objet contient les informations suivantes :
topic
-
Le sujet ou le filtre de sujet qui fait le lien entre les courtiers source et cible.
Si vous spécifiez le courtier LocalMqtt ou le courtier IotCore source, vous pouvez utiliser les caractères génériques + et # MQTT pour relayer les messages sur tous les sujets correspondant à un filtre de sujet. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.
source
-
Le courtier de messages source. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
target
-
Le courtier de messages cible. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
brokerUri
-
(Facultatif) L'URI du courtier MQTT local. Vous devez spécifier ce paramètre si vous configurez le broker MQTT pour utiliser un port différent du port par défaut 8883. Utilisez le format suivant et remplacez-le port par le port sur lequel le courtier MQTT opère :ssl://localhost:port.
Valeur par défaut : ssl://localhost:8883
Exemple Exemple : fusion de configuration et mise à jour
L'exemple de mise à jour de configuration suivant indique de relayer les messages des appareils clients vers AWS IoT Core les clients/MyClientDevice2/hello/world rubriques clients/MyClientDevice1/hello/world et.
{
"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
-
Les mappages thématiques que vous souhaitez relier. Ce composant s'abonne aux messages de la rubrique source et publie les messages qu'il reçoit sur la rubrique de destination. Chaque mappage thématique définit le sujet, le type de source et le type de destination.
Cet objet contient les informations suivantes :
topicMappingNameKey
-
Le nom de ce mappage de sujets. Remplacez-le topicMappingNameKey par un nom qui vous aide à identifier ce mappage de sujets.
Cet objet contient les informations suivantes :
topic
-
Le sujet ou le filtre de sujet qui fait le lien entre les courtiers source et cible.
Si vous spécifiez le courtier LocalMqtt ou le courtier IotCore source, vous pouvez utiliser les caractères génériques + et # MQTT pour relayer les messages sur tous les sujets correspondant à un filtre de sujet. Pour plus d'informations, consultez les rubriques relatives au MQTT dans le Guide du AWS IoT Core développeur.
source
-
Le courtier de messages source. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
target
-
Le courtier de messages cible. Sélectionnez l’une des options suivantes :
-
LocalMqtt— Le broker MQTT local où les appareils clients communiquent.
-
Pubsub— Le courtier de publish/subscribe messages Greengrass local.
-
IotCore— Le courtier de messages AWS IoT Core MQTT.
Le pont MQTT utilise QoS 1 pour publier et s'abonner AWS IoT Core, même lorsqu'un appareil client utilise QoS 0 pour publier et s'abonner au courtier MQTT local. Par conséquent, vous pouvez observer une latence supplémentaire lorsque vous relayez des messages MQTT depuis des appareils clients sur le broker MQTT local vers. AWS IoT Core Pour plus d'informations sur la configuration MQTT sur les appareils principaux, consultezConfigurer les délais d'expiration et les paramètres de cache du MQTT.
sourceet target doit être différent.
Exemple Exemple : fusion de configuration et mise à jour
L'exemple de mise à jour de configuration suivant indique de relayer les messages des appareils clients vers AWS IoT Core les clients/MyClientDevice2/hello/world rubriques clients/MyClientDevice1/hello/world et.
{
"mqttTopicMapping": {
"ClientDevice1HelloWorld": {
"topic": "clients/MyClientDevice1/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDevice2HelloWorld": {
"topic": "clients/MyClientDevice2/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
Fichier journal local
Ce composant utilise le même fichier journal que le composant Greengrass Nucleus.
- Linux
-
/greengrass/v2/logs/greengrass.log
- Windows
-
C:\greengrass\v2\logs\greengrass.log
Pour afficher les journaux de ce composant
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
|
Version
|
Modifications
|
|
2.3.3
|
- Corrections de bugs et améliorations
-
|
|
2.3.2
|
Version mise à jour pour la version 2.5.0 d'authentification des appareils clients.
|
| 2.3.1 |
- Corrections de bugs et améliorations
-
Résout un problème où le client MQTT local entre dans une boucle de déconnexion.
|
| 2.3.0 |
- Nouvelles fonctionnalités
-
Ajoute le support MQTT5 pour le pontage entre les sources MQTT locales AWS IoT Core et les sources MQTT locales.
|
|
2.2.6
|
- Nouvelles fonctionnalités
-
Ajoute une nouvelle option startupTimeoutSeconds de configuration.
|
|
2.2.5
|
Version mise à jour pour la version 2.4.0 d'authentification des appareils clients.
|
|
2.2.4
|
Version mise à jour pour la version 2.3.0 d'authentification des appareils clients Greengrass.
|
|
2.2.3
|
Cette version contient des corrections de bugs et des améliorations.
|
|
2.2.2
|
- Corrections de bugs et améliorations
-
|
|
2.2.1
|
- Corrections de bugs et améliorations
-
Résout les problèmes qui peuvent empêcher le pont MQTT de s'abonner aux rubriques MQTT.
|
|
2.2.0
|
- Nouvelles fonctionnalités
-
-
Ajoute la prise en charge des caractères génériques de rubrique MQTT (#et+) lorsque vous spécifiez local publish/subscribe comme courtier de messages source.
Cette fonctionnalité nécessite la version 2.6.0 ou ultérieure du composant Greengrass nucleus.
-
Ajoute l'targetTopicPrefixoption, que vous pouvez spécifier pour configurer le pont MQTT afin d'ajouter un préfixe à la rubrique cible lorsqu'il relaie un message.
|
|
2.1.1
|
- Corrections de bugs et améliorations
-
-
Résout les problèmes liés à la façon dont ce composant gère les mises à jour de réinitialisation de la configuration.
-
Réduit la fréquence des déconnexions des clients MQTT lors de la rotation des certificats.
|
|
2.1.0
|
- Nouvelles fonctionnalités
-
|
|
2.0.1
|
Cette version inclut des corrections de bugs et des améliorations.
|
|
2.0.0
|
Première version.
|