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 d'une fonction Lambda
L'exemple de fonction Lambda Python dans ce module utilise la fonction LambdaAWS IoT GreengrassKit SDK Corepour Python pour publier des messages MQTT.
Au cours de cette étape, vous :
-
Télécharger leAWS IoT GreengrassKit SDK Core pour Python sur votre ordinateur (et non leAWS IoT Greengrasspériphérique principal).
-
Créez un package de déploiement de votre fonction Lambda qui contient 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 qui pointe vers la version.
Pour compléter ce module, Python 3.7 doit être installé sur votre appareil noyau.
-
À partir desAWS IoT GreengrassKit SDK Corepage de téléchargement, téléchargez leAWS IoT GreengrassSDK Core pour Python sur votre ordinateur.
-
Décompressez le package téléchargé pour obtenir le code de la fonction Lambda et le kit SDK.
La fonction Lambda dans ce module utilise :
-
Le fichier
greengrassHelloWorld.py
dansexamples\HelloWorld
. Il s'agit de votre code de fonction Lambda. La fonction publie l'un des deux messages possibles toutes les cinq secondes dans la rubriquehello/world
. -
Le dossier
greengrasssdk
. Il s'agit du kit SDK.
-
-
Copiez le dossier
greengrasssdk
dans le dossierHelloWorld
qui contientgreengrassHelloWorld.py
. -
Pour créer le package de déploiement de votre fonction Lambda, enregistrez
greengrassHelloWorld.py
et l'greengrasssdk
dossier vers un dossier compressézip
fichier dénomméhello_world_python_lambda.zip
. Le fichierpy
et le dossier dugreengrasssdk
doivent être à la racine du répertoire.Sur les systèmes UNIX (y compris le terminal Mac), vous pouvez utiliser la commande suivante pour compresser le fichier et le dossier :
zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
Note
En fonction de votre distribution, il se peut que vous deviez installer
zip
d'abord (par exemple, en exécutantsudo apt-get install zip
). La commande d'installation peut varier pour votre distribution.Vous êtes maintenant prêt à créer votre fonction Lambda et à télécharger le package de déploiement.
-
Ouvrez la console Lambda et choisissezCréation de fonction.
-
Choisissez Créer à partir de zéro.
-
Nommez votre fonction
Greengrass_HelloWorld
et définissez les champs restants comme suit :-
Pour Runtime, sélectionnez Python 3.7.
-
PourAutorisations, 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).
-
-
Chargez le package de déploiement de votre fonction Lambda :
-
Dans la pageCodeonglet, sousSource de code, choisissezChargement à partir des. Dans le menu déroulant, cliquez sur.fichier .zip.
-
ChoisissezCharger, puis choisissez votre
hello_world_python_lambda.zip
package de déploiement. Ensuite, choisissez Enregistrer. -
Dans la pageCodepour la fonction, sousParamètres d'exécution, choisissezModifier, puis entrez les valeurs suivantes.
-
Pour Runtime, sélectionnez Python 3.7.
-
Pour Handler (Gestionnaire), entrez
greengrassHelloWorld.function_handler
.
-
-
Choisissez Save (Enregistrer).
Note
LeTestsur le bouton.AWS Lambdane fonctionne pas avec cette fonction. LeAWS IoT GreengrassLe SDK principal ne contient pas de modules nécessaires pour exécuter vos fonctions Greengrass Lambda indépendamment dans leAWS Lambdaconsole Ces modules (par exemple,
greengrass_common
) sont fournis aux fonctions après leur déploiement dans votre cœur Greengrass.
-
-
Publication de la fonction Lambda :
-
À partir desActionsen haut de la page, puis choisissezPublier une nouvelle version.
-
Dans Description de la version, saisissez
First version
, puis choisissez Publish.
-
-
Création d'unaliaspour la fonction Lambdaversion :
Note
Les groupes Greengrass peuvent référencer une fonction Lambda par alias (recommandé) ou par version. L'utilisation d'un alias facilite la gestion des mises à jour de code, car vous n'avez pas besoin de changer votre table d'abonnement ou votre définition de groupe lorsque le code de la fonction est mise à jour. Au lieu de cela, il vous suffit de pointer l'alias vers la nouvelle version de la fonction.
-
À partir desActionsen haut de la page, puis choisissezCréer un alias.
-
Nommez l'alias.
GG_HelloWorld
, définissez la version sur1
(qui correspond à la version que vous venez de publier), puis choisissezEnregistrer.Note
AWS IoT Greengrassne prend pas en charge les alias Lambda pour$LATESTversions.
-