

Avis de fin de support : le 7 octobre 2026, AWS le support de. AWS IoT Greengrass Version 1 Après le 7 octobre 2026, vous ne pourrez plus accéder aux AWS IoT Greengrass V1 ressources. Pour plus d'informations, rendez-vous sur [Migrer depuis AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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
<a name="create-lambda"></a>

L'exemple de fonction Lambda Python de ce module utilise le [SDK AWS IoT Greengrass Core pour Python pour](lambda-functions.md#lambda-sdks-core) publier des messages MQTT.

Au cours de cette étape, vous :
+ Téléchargez le SDK AWS IoT Greengrass Core pour Python sur votre ordinateur (et non sur le périphérique AWS IoT Greengrass principal).
+ 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.

Pour compléter ce module, Python 3.7 doit être installé sur votre appareil noyau.

 <a name="create-lambda-procedure"></a>

1. <a name="download-ggc-sdk"></a> Sur la page de téléchargement du [SDK AWS IoT Greengrass Core](what-is-gg.md#gg-core-sdk-download), téléchargez le SDK AWS IoT Greengrass Core pour Python sur votre ordinateur.

1. Décompressez le package téléchargé pour obtenir le code de fonction Lambda et le SDK.

   La fonction Lambda de ce module utilise :
   + Le fichier `greengrassHelloWorld.py` dans `examples\HelloWorld`. Il s'agit du code de votre fonction Lambda. La fonction publie l'un des deux messages possibles toutes les cinq secondes dans la rubrique `hello/world`.
   + Le dossier `greengrasssdk`. Il s'agit du kit SDK.

1. Copiez le dossier `greengrasssdk` dans le dossier `HelloWorld` qui contient `greengrassHelloWorld.py`.

1. Pour créer le package de déploiement de la fonction Lambda, enregistrez `greengrassHelloWorld.py` le `greengrasssdk` dossier dans un `zip` fichier compressé nommé. `hello_world_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_python_lambda.zip.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-017.png)

   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écutant `sudo 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.

1. Ouvrez la console Lambda et choisissez **Create** function.

1. Choisissez **Créer à partir de zéro**.

1. Nommez votre fonction **Greengrass\$1HelloWorld** 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.

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

1. Chargez le package de déploiement de votre fonction Lambda :

   1. <a name="lambda-console-upload"></a>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é.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Choisissez **Upload**, puis choisissez votre package `hello_world_python_lambda.zip` de déploiement. Ensuite, choisissez **Enregistrer**.

   1. <a name="lambda-console-runtime-settings-para"></a>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 **greengrassHelloWorld.function\$1handler**.  
![\[La section « Paramètres d'exécution » avec le champ « Runtime » défini sur « Python 3.7 » et le champ « Handler » défini sur « greengrassHelloWorld .function_handler ».\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-023-2.png)

   1. <a name="lambda-console-save-config"></a>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 exemple`greengrass_common`) sont fournis aux fonctions après leur déploiement sur votre noyau Greengrass.

1. <a name="publish-function-version"></a>Publiez la fonction Lambda :

   1. Dans le menu **Actions** en haut de la page, choisissez **Publier une nouvelle version**.  
![\[Capture d'écran du menu Actions avec l'option Publier une nouvelle version mise en évidence.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-026.png)

   1. Dans **Description de la version**, saisissez **First version**, puis choisissez **Publish**.  
![\[Capture d'écran avec le champ Description de la version défini sur First version (Première version) et le bouton Publish (Publication) sélectionné.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-027.png)

1. <a name="create-version-alias"></a>[Créez un [alias](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) pour la version de la fonction Lambda :](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)
**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 du code, car vous n'avez pas à modifier votre table d'abonnement ou la définition de groupe lorsque le code de fonction est mis à jour. Au lieu de cela, il vous suffit de pointer l'alias vers la nouvelle 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.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. Nommez l'alias**GG\$1HelloWorld**, définissez la version sur **1** (qui correspond à la version que vous venez de publier), puis choisissez **Enregistrer**.
**Note**  
AWS IoT Greengrass **ne prend pas en charge les alias Lambda pour les versions \$1LATEST.**

         
![\[Capture d'écran de Créer un nouvel alias avec le champ Nom défini sur GG_ HelloWorld et le champ Version défini sur 1.\]](http://docs.aws.amazon.com/fr_fr/greengrass/v1/developerguide/images/gg-get-started-029.png)