Utilisation de AWS Lambda avec une AWS Snowball Edge - AWS Snowball Edge Guide du développeur

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.

Utilisation de AWS Lambda avec une AWS Snowball Edge

AWS Lambdapropulsé parAWS IoT Greengrassest un service de calcul qui vous permet d'exécuter du code sans serveur (fonctions Lambda) localement sur des appareils Snowball Edge. Vous pouvez utiliser Lambda pour appeler des fonctions Lambda sur un appareil Snowball Edge avec des messages MQTT (Message Queuing Telemetry Transport), exécuter du code Python dans des fonctions Lambda et les utiliser pour appeler publicAWSpoints de terminaison de service dans le cloud. Pour utiliser les fonctions Lambda avec les appareils Snowball Edge, vous devez créer vos tâches Snowball Edge dans unRégion AWSsoutenu parAWS IoT Greengrass. Pour une liste des validesRégions AWS, voirAWS IoT Greengrassdans leRéférences générales AWS. Lambda on Snowball Edge est disponible dans les régions où les appareils Lambda et Snowball Edge sont disponibles.

Note

Si vous allouez la quantité minimale recommandée de 128 Mo de mémoire à chacune de vos fonctions, vous pouvez avoir jusqu'à sept fonctions Lambda par tâche.

Avant de commencer

Avant de créer une fonction Lambda en langage Python à exécuter sur votre Snowball Edge, nous vous recommandons de vous familiariser avec les services, concepts et sujets connexes suivants.

Prérequis pour AWS IoT Greengrass

AWS IoT Greengrassest un logiciel qui étendAWS Cloudfonctionnalités pour les appareils locaux.AWS IoT Greengrasspermet aux appareils locaux de collecter et d'analyser des données au plus près de la source d'information, tout en communiquant de manière sécurisée entre eux sur les réseaux locaux. Plus précisément, les développeurs qui utilisentAWS IoT Greengrasspeut créer du code sans serveur (fonctions Lambda) dansAWS Cloud. Ils peuvent ensuite facilement déployer ce code vers les appareils pour une exécution locale des applications.

Ce qui suitAWS IoT Greengrassles concepts sont importants à comprendre lors de l'utilisationAWS IoT Greengrassavec un Snowball Edge :

  • AWS IoT Greengrassexigences— Pour une liste complète desAWS IoT Greengrassexigences, voirExigencesdans leAWS IoT Greengrass Version 2Guide du développeur.

  • AWS IoT Greengrassnoyau— Téléchargez leAWS IoT Greengrasslogiciel principal et installez-le sur une instance EC2 exécutée sur l'appareil. VoirEn utilisantAWS IoT Greengrasssur les instances Amazon EC2dans ce guide.

    Pour utiliser les fonctions Lambda sur un appareil Snowball Edge, vous devez d'abord installerAWS IoT GreengrassLogiciel de base sur une instance Amazon EC2 installée sur l'appareil. Les fonctions Lambda que vous prévoyez d'utiliser sur l'appareil Snowball Edge doivent être créées par le même compte que celui que vous utiliserez pour installerAWS IoT Greengrasssur l'appareil Snowball Edge. Pour plus d'informations sur l'installationAWS IoT Greengrasssur votre appareil Snowball Edge, voirEn utilisantAWS IoT Greengrasspour exécuter des logiciels préinstallés sur des instances compatibles Amazon EC2.

  • AWS IoT Greengrassgroupe— Un appareil Snowball Edge fait partie d'unAWS IoT Greengrassgroupe en tant qu'appareil principal du groupe. Pour plus d'informations sur les groupes, voirAWSGroupes Greengrass IoTdans leAWS IoT GreengrassGuide du développeur.

  • MQTT—AWS IoT Greengrassutilise le protocole MQTT léger, standard de l'industrie, pour communiquer au sein d'un groupe. Tout appareil ou logiciel compatible avec MQTT dans votreAWS IoT Greengrassle groupe peut invoquer des messages MQTT. Ces messages peuvent invoquer des fonctions Lambda, si vous définissez le message MQTT correspondant à cette fin.

Prérequis pour AWS Lambda

AWS Lambda est un service informatique qui vous permet d'exécuter un code sans demander la mise en service ou la gestion des serveurs. Il est important de comprendre les concepts Lambda suivants lors de l'utilisation de Lambda avec un Snowball Edge :

  • Fonctions Lambda— Votre code personnalisé, téléchargé et publié sur Lambda et utilisé sur un Snowball Edge. Pour plus d'informations, voirFonctions Lambdadans leAWS LambdaGuide du développeur.

  • Console Lambda— La console dans laquelle vous chargez, mettez à jour et publiez vos fonctions Lambda en langage Python pour les utiliser sur un Snowball Edge. Pour plus d'informations surConsole Lambda, voirConsole Lambdadans leAWS LambdaGuide du développeur.

  • Python— Le langage de programmation de haut niveau utilisé pour vos fonctions Lambda, alimenté parAWS IoT Greengrasssur un Snowball Edge.AWS IoT Greengrassprend en charge la version 3.8.x de Python.

Déployer une fonction Lambda sur un appareil Snowball Edge

Pour exécuter une fonction Lambda sur un appareil Snowball Edge dans unAWS IoT Greengrassgroupe, importez la fonction en tant que composant. Pour obtenir des informations complètes sur l'importation d'une fonction en tant que composant à l'aide duAWS IoT Greengrassconsole, voirImporter une fonction Lambda en tant que composant (console)dans leAWS IoT Greengrass Version 2Guide du développeur.

  1. Dans leAWSConsole IoT, sur leComposants Greengrasspage, choisissezCréation d'un composant.

  2. DansSource du composant, choisissezFonction d'importation Lambda. DansFonction Lambda, choisissez le nom de votre fonction. DansVersion de la fonction Lambda, choisissez la version de votre fonction.

  3. Pour abonner la fonction aux messages sur lesquels elle peut agir, choisissezAjouter une source d'événementet choisissez l'événement. DansDélai d'expiration (secondes), indiquez un délai d'expiration en secondes.

  4. DansÉpinglé, choisissez d'épingler ou non votre fonction.

  5. ChoisissezCréation d'un composant

  6. Choisissez Deploy (Déployer).

  7. DansDéploiement, choisissezAjouter au déploiement existant, puis choisissez votre groupe Greengrass. Choisissez Suivant.

  8. DansComposantes publiques, choisissez les composants suivants :

    • AWS.Greengrass.cli

    • aws.greengrass.LambdaLauncher

    • aws.greengrass.LambdaManager

    • aws.greengrass.LambdaRuntimes

    • AWS Greengrass.Nucleus

  9. Choisissez Deploy (Déployer).