Routeur d'abonnement Legacy - 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.

Routeur d'abonnement Legacy

L'ancien routeur d'abonnement (aws.greengrass.LegacySubscriptionRouter) gère les abonnements sur l'appareil principal Greengrass. Les abonnements sont une fonctionnalité de la AWS IoT Greengrass version 1 qui définit les sujets que les fonctions Lambda peuvent utiliser pour la messagerie MQTT sur un appareil principal. Pour plus d'informations, consultez la section Abonnements gérés dans le flux de travail de messagerie MQTT du guide du développeur de la version AWS IoT Greengrass 1.

Vous pouvez utiliser ce composant pour activer les abonnements aux composants du connecteur et aux composants de la fonction Lambda qui utilisent le SDK AWS IoT Greengrass Core.

Note

L'ancien composant routeur d'abonnement n'est requis que si votre fonction Lambda utilise la publish() fonction du SDK AWS IoT Greengrass Core. Si vous mettez à jour votre code de fonction Lambda pour utiliser l'interface de communication interprocessus (IPC) de la Kit SDK des appareils AWS IoT V2, vous n'avez pas besoin de déployer l'ancien composant routeur d'abonnement. Pour plus d'informations, consultez les services de communication interprocessus suivants :

Versions

Les versions de ce composant sont les suivantes :

  • 2,1x

  • 2,0.x

Type

Ce composant est un composant générique (aws.greengrass.generic). Le noyau Greengrass exécute les scripts de cycle de vie du composant.

Pour plus d’informations, consultez Types de composants.

Système d’exploitation

Ce composant ne peut être installé que sur les appareils principaux de Linux.

Prérequis

Ce composant répond aux exigences suivantes :

  • L'ancien routeur d'abonnement est compatible pour fonctionner dans un VPC.

Dépendances

Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des 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 de chaque version du composant dans la AWS IoT Greengrassconsole. Sur la page de détails du composant, recherchez la liste des dépendances.

2.1.11

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0,0 <2,13,0 Flexible
2.1.10

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,12.0 Flexible
2.1.9

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,11.0 Flexible
2.1.8

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0,0 <2,1,0 Flexible
2.1.7

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,9.0 Flexible
2.1.6

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,8.0 Flexible
2.1.5

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,7.0 Flexible
2.1.4

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,6.0 Flexible
2.1.3

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,5.0 Flexible
2.1.2

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,4.0 Flexible
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
Noyau de Greengrass >=2,0.0 <2,3.0 Flexible
2.1.0

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,2.0 Flexible
2.0.3

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0,3 <2,10 Flexible

Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.

Configuration

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

v2.1.x
subscriptions

(Facultatif) Les abonnements à activer sur l'appareil principal. Il s'agit d'un objet, où chaque clé est un identifiant unique, et chaque valeur est un objet qui définit l'abonnement pour ce connecteur. Vous devez configurer un abonnement lorsque vous déployez un composant du connecteur V1 ou une fonction Lambda qui utilise le SDK AWS IoT Greengrass Core.

Chaque objet d'abonnement contient les informations suivantes :

id

L'identifiant unique de cet abonnement. Cet ID doit correspondre à la clé de cet objet d'abonnement.

source

Fonction Lambda qui utilise le SDK AWS IoT Greengrass principal pour publier des messages MQTT sur les sujets que vous spécifiez. subject Spécifiez l’un des éléments suivants :

  • Nom d'un composant de fonction Lambda sur le périphérique principal. Spécifiez le nom du composant avec le component: préfixe, tel quecomponent:com.example.HelloWorldLambda.

  • Le nom de ressource Amazon (ARN) d'une fonction Lambda sur le périphérique principal.

    Important

    Si la version de la fonction Lambda change, vous devez configurer l'abonnement avec la nouvelle version de la fonction. Sinon, ce composant n'acheminera pas les messages tant que la version ne correspondra pas à l'abonnement.

    Vous devez spécifier un Amazon Resource Name (ARN) qui inclut la version de la fonction à importer. Vous ne pouvez pas utiliser des alias de version tels que $LATEST.

Pour déployer un abonnement pour un composant de connecteur V1, spécifiez le nom du composant ou l'ARN de la fonction Lambda du composant de connecteur.

subject

Rubrique ou filtre de rubrique MQTT sur lequel la source et la cible peuvent publier et recevoir des messages. Cette valeur prend en charge les caractères génériques + et les caractères génériques du # sujet.

target

La cible qui reçoit les messages MQTT sur les sujets que vous spécifiez danssubject. L'abonnement indique que la source fonction publie des messages MQTT vers AWS IoT Core ou vers une fonction Lambda sur le périphérique principal. Spécifiez l’un des éléments suivants :

  • cloud. La source fonction publie des messages MQTT surAWS IoT Core.

  • Nom d'un composant de fonction Lambda sur le périphérique principal. Spécifiez le nom du composant avec le component: préfixe, tel quecomponent:com.example.HelloWorldLambda.

  • Le nom de ressource Amazon (ARN) d'une fonction Lambda sur le périphérique principal.

    Important

    Si la version de la fonction Lambda change, vous devez configurer l'abonnement avec la nouvelle version de la fonction. Sinon, ce composant n'acheminera pas les messages tant que la version ne correspondra pas à l'abonnement.

    Vous devez spécifier un Amazon Resource Name (ARN) qui inclut la version de la fonction à importer. Vous ne pouvez pas utiliser des alias de version tels que $LATEST.

Par défaut : aucun abonnement

Exemple de mise à jour de configuration (définition d'un abonnement àAWS IoT Core)

L'exemple suivant indique que le composant de la fonction com.example.HelloWorldLambda Lambda publie un message MQTT AWS IoT Core sur le sujet. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "cloud" } } }
Exemple de mise à jour de configuration (définition d'un abonnement à une autre fonction Lambda)

L'exemple suivant indique que le composant de fonction com.example.HelloWorldLambda Lambda publie des messages MQTT au composant de fonction com.example.MessageRelay Lambda sur le sujet. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "component:com.example.MessageRelay" } } }
v2.0.x
subscriptions

(Facultatif) Les abonnements à activer sur l'appareil principal. Il s'agit d'un objet, où chaque clé est un identifiant unique, et chaque valeur est un objet qui définit l'abonnement pour ce connecteur. Vous devez configurer un abonnement lorsque vous déployez un composant du connecteur V1 ou une fonction Lambda qui utilise le SDK AWS IoT Greengrass Core.

Chaque objet d'abonnement contient les informations suivantes :

id

L'identifiant unique de cet abonnement. Cet ID doit correspondre à la clé de cet objet d'abonnement.

source

Fonction Lambda qui utilise le SDK AWS IoT Greengrass principal pour publier des messages MQTT sur les sujets que vous spécifiez. subject Spécifiez les paramètres suivants :

  • Le nom de ressource Amazon (ARN) d'une fonction Lambda sur le périphérique principal.

    Important

    Si la version de la fonction Lambda change, vous devez configurer l'abonnement avec la nouvelle version de la fonction. Sinon, ce composant n'acheminera pas les messages tant que la version ne correspondra pas à l'abonnement.

    Vous devez spécifier un Amazon Resource Name (ARN) qui inclut la version de la fonction à importer. Vous ne pouvez pas utiliser des alias de version tels que $LATEST.

Pour déployer un abonnement pour un composant de connecteur V1, spécifiez l'ARN de la fonction Lambda du composant de connecteur.

subject

Rubrique ou filtre de rubrique MQTT sur lequel la source et la cible peuvent publier et recevoir des messages. Cette valeur prend en charge les caractères génériques + et les caractères génériques du # sujet.

target

La cible qui reçoit les messages MQTT sur les sujets que vous spécifiez danssubject. L'abonnement indique que la source fonction publie des messages MQTT vers AWS IoT Core ou vers une fonction Lambda sur le périphérique principal. Spécifiez l’un des éléments suivants :

  • cloud. La source fonction publie des messages MQTT surAWS IoT Core.

  • Le nom de ressource Amazon (ARN) d'une fonction Lambda sur le périphérique principal.

    Important

    Si la version de la fonction Lambda change, vous devez configurer l'abonnement avec la nouvelle version de la fonction. Sinon, ce composant n'acheminera pas les messages tant que la version ne correspondra pas à l'abonnement.

    Vous devez spécifier un Amazon Resource Name (ARN) qui inclut la version de la fonction à importer. Vous ne pouvez pas utiliser des alias de version tels que $LATEST.

Par défaut : aucun abonnement

Exemple de mise à jour de configuration (définition d'un abonnement àAWS IoT Core)

L'exemple suivant indique que la Greengrass_HelloWorld fonction publie un message MQTT AWS IoT Core sur le hello/world sujet.

"subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "cloud" } }
Exemple de mise à jour de configuration (définition d'un abonnement à une autre fonction Lambda)

L'exemple suivant indique que la Greengrass_HelloWorld fonction publie des messages MQTT Greengrass_MessageRelay sur le hello/world sujet.

"subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5" } }

Fichier journal local

Ce composant ne génère pas de journaux.

Journal des modifications

Le tableau suivant décrit les modifications apportées à chaque version du composant.

Version

Modifications

2.1.11

Version mise à jour pour la version 2.12.0 de Greengrass Nucleus.

2.1.10

Version mise à jour pour la version 2.11.0 de Greengrass Nucleus.

2.1.9

Version mise à jour pour la version 2.10.0 de Greengrass Nucleus.

2.1.8

Version mise à jour pour la version 2.9.0 de Greengrass Nucleus.

2.1.7

Version mise à jour pour la version 2.8.0 de Greengrass Nucleus.

2.1.6

Version mise à jour pour la version 2.7.0 de Greengrass Nucleus.

2.1.5

Version mise à jour pour la version 2.6.0 de Greengrass Nucleus.

2.1.4

Version mise à jour pour la version 2.5.0 de Greengrass Nucleus.

2.1.3

Version mise à jour pour la version 2.4.0 de Greengrass Nucleus.

2.1.2

Version mise à jour pour la version 2.3.0 de Greengrass Nucleus.

2.1.1

Version mise à jour pour la version 2.2.0 de Greengrass Nucleus.

2.1.0

Corrections de bogues et améliorations
  • Permet de spécifier les noms des composants au lieu des ARN pour source ettarget. Si vous spécifiez un nom de composant pour un abonnement, vous n'avez pas besoin de reconfigurer l'abonnement chaque fois que la version de la fonction Lambda change.

2.0.3

Première version.