Interagir avec les ombres dans les composants - 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.

Interagir avec les ombres dans les composants

Vous pouvez développer des composants personnalisés, notamment des composants de fonction Lambda, qui utilisent le service fantôme local pour lire et modifier les documents fantômes locaux et les documents fantômes du périphérique client.

Les composants personnalisés interagissent avec le service parallèle local à l'aide des bibliothèques AWS IoT Greengrass Core IPC duKit SDK des appareils AWS IoT. Le composant Shadow Manager active le service fantôme local sur votre appareil principal.

Pour déployer le composant Shadow Manager sur un appareil principal de Greengrass, créez un déploiement incluant le aws.greengrass.ShadowManager composant.

Note

Par défaut, le déploiement du composant Shadow Manager active uniquement les opérations d'ombre locales. AWS IoT GreengrassPour permettre de synchroniser les informations sur l'état des ombres des périphériques principaux ou des ombres des appareils clients avec les documents Cloud Shadow correspondants dansAWS IoT Core, vous devez créer une mise à jour de configuration pour le composant Shadow Manager qui inclut le synchronize paramètre. Pour plus d’informations, consultez Synchronisez les ombres de l'appareil local avec AWS IoT Core.

Récupérez et modifiez les états d'ombre

Les opérations IPC parallèles récupèrent et mettent à jour les informations d'état dans les documents fictifs locaux. Le composant Shadow Manager gère le stockage de ces documents fantômes sur votre appareil principal.

Pour modifier les états d'ombre locaux
  1. Ajoutez des politiques d'autorisation à la recette de votre composant personnalisé afin de permettre au composant de recevoir des messages sur des sujets secondaires locaux.

    Pour des exemples de politiques d'autorisation, voir Exemples de politiques d'autorisation IPC fantôme locales.

  2. Utilisez les opérations IPC de l'ombre pour récupérer et modifier les informations relatives à l'état de l'ombre. Pour plus d'informations sur l'utilisation des opérations IPC fantômes dans le code des composants, consultezInteragissez avec les ombres locales.

Note

Pour permettre à un périphérique principal d'interagir avec les ombres du périphérique client, vous devez également configurer et déployer le composant de pont MQTT. Pour plus d'informations, voir Activer le Shadow Manager pour communiquer avec les appareils clients.

Réagir aux changements d'état de l'ombre

Les composants Greengrass utilisent l'interface de publication/d'abonnement locale pour communiquer sur un appareil principal. Pour permettre à un composant personnalisé de réagir aux changements d'état fictif, vous pouvez vous abonner aux rubriques de publication/d'abonnement locales. Cela permet au composant de recevoir des messages sur les sujets secondaires locaux, puis d'agir sur ces messages.

Les sujets fantômes locaux utilisent le même format que les sujets MQTT fantômes de l'AWS IoTappareil. Pour plus d'informations sur les sujets cachés, consultez les rubriques Device Shadow MQTT dans le manuel du AWS IoT développeur.

Pour réagir aux changements de l'état parallèle local
  1. Ajoutez des politiques de contrôle d'accès à la recette de votre composant personnalisé afin de permettre au composant de recevoir des messages sur des sujets secondaires locaux.

    Pour des exemples de politiques d'autorisation, voir Exemples de politiques d'autorisation IPC fantôme locales.

  2. Pour lancer une action personnalisée dans un composant, utilisez les opérations SubscribeToTopic IPC pour vous abonner aux sujets fictifs sur lesquels vous souhaitez recevoir des messages. Pour plus d'informations sur l'utilisation des opérations IPC de publication/d'abonnement locales dans le code des composants, consultez. Publier/souscrire des messages locaux

  3. Pour appeler une fonction Lambda, utilisez la configuration de la source d'événements pour fournir le nom du sujet parallèle et spécifiez qu'il s'agit d'un sujet de publication/d'abonnement local. Pour plus d'informations sur la création de composants de fonctions Lambda, consultez. Exécuter AWS Lambda des fonctions

Note

Pour permettre à un périphérique principal d'interagir avec les ombres du périphérique client, vous devez également configurer et déployer le composant de pont MQTT. Pour plus d'informations, voir Activer le Shadow Manager pour communiquer avec les appareils clients.