Création et configuration de la fonction Lambda - AWS IoT Greengrass

AWS IoT Greengrass Version 1 est entré dans la phase de durée de vie prolongée le 30 juin 2023. Pour plus d'informations, consultez la politique de AWS IoT Greengrass V1 maintenance. Après cette date, AWS IoT Greengrass V1 ne publiera pas de mises à jour fournissant des fonctionnalités, des améliorations, des corrections de bogues ou des correctifs de sécurité. Les appareils qui fonctionnent AWS IoT Greengrass V1 sous tension ne seront pas perturbés et continueront à fonctionner et à se connecter au cloud. Nous vous recommandons vivement de migrer vers AWS IoT Greengrass Version 2, qui ajoute de nouvelles fonctionnalités importantes et prend en charge des plateformes supplémentaires.

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.

Création et configuration de la fonction Lambda

Dans cette étape, vous allez créer une fonction Lambda qui suit le nombre de voitures qui passent le feu de signalisation. Chaque fois que l'état de l'GG_TrafficLightombre passe àG, la fonction Lambda simule le passage d'un nombre aléatoire de voitures (de 1 à 20). À chaque troisième changement deG lumière, la fonction Lambda envoie des statistiques de base, telles que min et max, à une table DynamoDB.

  1. Sur votre ordinateur, créez un dossier nommé car_aggregator.

  2. À partir du dossier d'TrafficLight exemples GitHub, téléchargez lecarAggregator.py fichiercar_aggregator dans le dossier. Il s'agit du code de votre fonction Lambda.

    Note

    Cet exemple de fichier Python est stocké dans le référentielAWS IoT Greengrass Core SDK pour des raisons de commodité, mais il n'utilise pas le SDKAWS IoT Greengrass Core.

  3. Si vous ne travaillez pas dans la région Est des États-Unis (Virginie du Nord), ouvrez la ligne suivantecarAggregator.py etregion_name remplacez-la parRégion AWS celle actuellement sélectionnée dans laAWS IoT console. Pour obtenir la liste des versions prises AWS IoT Greengrassen chargeRégion AWS, reportez-vous au Référence générale d'Amazon Web Services.

    dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
  4. Exécutez la commande suivante dans une fenêtre de ligne de commande pour installer le AWS SDK for Python (Boto3)package et ses dépendances dans lecar_aggregator dossier. Les fonctions Lambda de Greengrass utilisent leAWS SDK pour accéder à d'autresAWS services. (Pour Windows, utilisez une invite de commande élevée.)

    pip install boto3 -t path-to-car_aggregator-folder

    Vous obtenez une liste de répertoires similaire à la suivante :

    Capture d'écran de la liste de répertoires affichant carAggregator.py.
  5. Compressez le contenu du dossier car_aggregator en un fichier .zip nommé car_aggregator.zip. (Compressez les contenus du dossier, et non pas le dossier.) Il s'agit du package de déploiement de votre fonction Lambda.

  6. Dans la console Lambda, créez une fonction nomméeGG_Car_Aggregator et définissez les champs restants comme suit :

    • Pour Runtime, sélectionnez Python 3.7.

    • Pour les autorisations, conservez le paramètre par défaut. Cela crée un rôle d'exécution qui accorde des autorisations Lambda de base. Ce rôle n'est pas utilisé parAWS IoT Greengrass.

    Sélectionnez Create function (Créer une fonction).

    Section des informations de base avec Nom de fonction défini sur GG_Car_Aggregator et Exécution défini sur Python 3.7.
  7. Chargez le package de déploiement de votre fonction Lambda :

    1. Dans l'onglet Code, sous Source du code, choisissez Charger depuis. Dans la liste déroulante, choisissez le fichier .zip.

      La liste déroulante Télécharger depuis avec le fichier .zip est surlignée.
    2. Choisissez charger, puis choisissez votre packagecar_aggregator.zip de déploiement. Ensuite, choisissez Enregistrer.

    3. Dans l'onglet Code de la fonction, sous Paramètres d'exécution, choisissez Modifier, puis entrez les valeurs suivantes.

      • Pour Runtime, sélectionnez Python 3.7.

      • Pour Handler (Gestionnaire), entrez carAggregator.function_handler.

    4. Choisissez Save (Enregistrer).

  8. Publiez la fonction Lambda, puis créez un alias nomméGG_CarAggregator. Pour step-by-step obtenir des instructions, consultez les étapes de publication de la fonction Lambda et de création d'un alias dans le module 3 (partie 1).

  9. Dans laAWS IoT console, ajoutez la fonction Lambda que vous venez de créer à votreAWS IoT Greengrass groupe :

    1. Sur la page de configuration du groupe, choisissez Fonctions Lambda, puis sous Mes fonctions Lambda, choisissez Ajouter.

    2. Pour la fonction Lambda, choisissez GG_Car_Aggregator.

    3. Pour la version de la fonction Lambda, choisissez l'alias de la version que vous avez publiée.

    4. Pour Limite de mémoire, entrez 64 MB.

    5. Pour Pinned, choisissez True.

    6. Choisissez Ajouter une fonction Lambda.

    Note

    Vous pouvez supprimer d'autres fonctions Lambda des modules précédents.