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 MQTT messagerie sur un appareil principal. Pour plus d'informations, consultez la section Abonnements gérés dans le flux MQTT de travail de messagerie du guide du AWS IoT Greengrass développeur de la version 1.

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

Note

L'ancien composant routeur d'abonnement n'est requis que si votre fonction Lambda utilise la publish() fonction du Core. AWS IoT Greengrass SDK Si vous mettez à jour votre code de fonction Lambda pour utiliser l'interface de communication interprocessus (IPC) dans 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 de plus amples informations, veuillez consulter 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 unVPC.

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 Greengrass console. Sur la page de détails du composant, recherchez la liste des dépendances.

2.1.12

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

Dépendance Versions compatibles Type de dépendance
Noyau de Greengrass >=2,0.0 <2,14.0 Flexible
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 AWS IoT Greengrass Core. SDK

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 AWS IoT Greengrass Core SDK pour publier MQTT des messages sur les sujets que vous spécifiez dans. 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. Dans le cas contraire, 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 la ARN fonction Lambda du composant de connecteur.

subject

MQTTRubrique ou filtre de rubrique 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 MQTT messages sur les sujets que vous spécifiez danssubject. L'abonnement indique que la source fonction publie MQTT des messages 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 MQTT des messages sur AWS 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. Dans le cas contraire, 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 MQTT un message AWS IoT Core sur le hello/world sujet.

{ "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 MQTT des messages sur le sujet au composant de fonction com.example.MessageRelay Lambda. 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 AWS IoT Greengrass Core. SDK

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 AWS IoT Greengrass Core SDK pour publier MQTT des messages sur les sujets que vous spécifiez dans. 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. Dans le cas contraire, 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 ARN la fonction Lambda du composant de connecteur.

subject

MQTTRubrique ou filtre de rubrique 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 MQTT messages sur les sujets que vous spécifiez danssubject. L'abonnement indique que la source fonction publie MQTT des messages 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 MQTT des messages sur AWS 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. Dans le cas contraire, 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 MQTT un message 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 MQTT des messages 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.12

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

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 de ARNs for 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.