Création et empaquetage 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 empaquetage de la fonction Lambda

Au cours de cette étape, vous :

  • Créez un package de déploiement de fonctions Lambda contenant le code de la fonction et les dépendances.

  • Utilisez la console Lambda pour créer une fonction Lambda et télécharger le package de déploiement.

  • Publiez une version de la fonction Lambda et créez un alias pointant vers cette version.

 

  1. Sur votre ordinateur, accédez au SDK AWS IoT Greengrass Core pour Python que vous avez téléchargé et extrait Création et empaquetage d'une fonction Lambda dans le module 3-1.

    La fonction Lambda de ce module utilise :

    • Le fichier greengrassHelloWorldCounter.py dans examples\HelloWorldCounter. Il s'agit du code de votre fonction Lambda.

    • Le dossier greengrasssdk. Il s'agit du kit SDK.

  2. Créez un package de déploiement de fonctions Lambda :

    1. Copiez le dossier greengrasssdk dans le dossier HelloWorldCounter qui contient greengrassHelloWorldCounter.py.

    2. Enregistrez greengrassHelloWorldCounter.py et le dossier greengrasssdk dans un fichier zip nommé hello_world_counter_python_lambda.zip. Le fichier py et le dossier du greengrasssdk doivent être à la racine du répertoire.

      Capture d'écran montrant le contenu zippé du fichier hello_word_counter_python_lambda.zip.

      Pour les systèmes UNIX (y compris le terminal Mac) pour lesquels zip est installé, vous pouvez utiliser la commande suivante pour compresser le fichier et le dossier :

      zip -r hello_world_counter_python_lambda.zip greengrasssdk greengrassHelloWorldCounter.py

    Vous êtes maintenant prêt à créer votre fonction Lambda et à télécharger le package de déploiement.

  3. Ouvrez la console Lambda et choisissez Create function.

  4. Choisissez Créer à partir de zéro.

  5. Nommez votre fonction Greengrass_HelloWorld_Counter 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é par AWS IoT Greengrass. Vous pouvez également réutiliser le rôle que vous avez créé dans le module 3-1.

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

    La section « Informations de base » avec le champ « Nom de la fonction » défini sur « Greengrass_ HelloWorld _Counter » et le champ « Runtime » défini sur « Python 3.7 ».
  6. Téléchargez le package de déploiement de votre fonction Lambda.

    1. Dans l'onglet Code, sous Source du code, choisissez Télécharger depuis. Dans le menu déroulant, sélectionnez le fichier .zip.

      La liste déroulante Upload from avec le fichier .zip surligné.
    2. Choisissez Upload, puis choisissez votre package hello_world_counter_python_lambda.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 greengrassHelloWorldCounter.function_handler.

    4. Choisissez Save (Enregistrer).

      Note

      Le bouton Test de la AWS Lambda console ne fonctionne pas avec cette fonction. Le SDK AWS IoT Greengrass principal ne contient pas les modules nécessaires pour exécuter vos fonctions Greengrass Lambda de manière indépendante dans la console. AWS Lambda Ces modules (par exemplegreengrass_common) sont fournis aux fonctions après leur déploiement sur votre noyau Greengrass.

  7. Publiez la première version de la fonction.

    1. Dans le menu Actions en haut de la page, choisissez Publier une nouvelle version. Pour Description de la version, saisissez First version.

    2. Choisissez Publish.

  8. Créez un alias pour la version de la fonction.

    1. Dans le menu Actions en haut de la page, choisissez Créer un alias.

      Capture d'écran du menu Actions défini sur Créer un alias.
    2. Pour Nom, saisissez GG_HW_Counter.

    3. Pour Version, choisissez 1.

    4. Choisissez Save (Enregistrer).

      Créez une capture d'écran d'alias avec le champ Nom défini sur GG_HW_Counter et le champ Version défini sur 1.

    Les alias créent une entité unique pour votre fonction Lambda à laquelle les appareils Greengrass peuvent s'abonner. Ainsi, vous n'avez pas à mettre à jour les abonnements avec les nouveaux numéros de version de la fonction Lambda chaque fois que la fonction est modifiée.