View a markdown version of this page

Pont MQTT - AWS IoT Greengrass

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.

Note

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.

    Note

    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 :

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

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 :

  • Linux

  • Windows

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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,2,0 < 2,6,0 Stricte
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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,2,0 < 2,5,0 Stricte
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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,2,0 < 2,5,0 Stricte
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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,2,0 < 2,4,0 Stricte
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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,2,0 < 2,3,0 Stricte
2.1.1

Le tableau suivant répertorie les dépendances pour la version 2.1.1 de ce composant.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,0,0 < 2,2,0 Stricte
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.

Dépendance Versions compatibles Type de dépendance
Authentification de l'appareil client > = 2,0,0 < 2,1,0 Stricte

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.

Note

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.

    Note

    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.

    Note

    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 :

  • mqtt3

  • mqtt5

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 :

  • Permet au pont d'utiliser le protocole MQTT 5 avec le courtier local.

  • Configure MQTT à conserver en tant que paramètre publié pour le mappage des ClientDeviceHelloWorld sujets.

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

Note

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.

    Note

    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.

    Note

    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.

Note

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.

    Note

    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.

    Note

    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.

    Note

    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.

    Note

    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.

    Note

    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.

    Note

    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
  • Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez /greengrass/v2 ou C:\greengrass\v2 par le chemin du dossier AWS IoT Greengrass racine.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

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
  • Résout un problème en raison duquel une charge simultanée élevée sur les périphériques pouvait empêcher le pont MQTT de relayer les messages après l'arrêt d'un PUBACK.

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
  • Ajustements de journalisation.

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
  • Ajoute le brokerUri paramètre, qui vous permet d'utiliser un port de courtier MQTT autre que celui par défaut.

2.0.1

Cette version inclut des corrections de bugs et des améliorations.

2.0.0

Première version.