Vous en avez assez de déployer dans le cloud juste pour tester votre AWS Lambda ? C'est comme s'envoyer une lettre juste pour la relire : c'est lent, coûteux et totalement inutile.
Et si vous pouviez appeler votre Lambda localement, directement depuis votre application JavaScript ? Pas d'aller-retour dans le cloud, pas d'attente, juste un retour instantané. Avec AWS SAM (Serverless Application Model) et une pincée de Node.JS/JavaScript, vous pouvez tester et déboguer vos Lambdas sur votre machine, économisant du temps et de l'argent ?.
J'utilise un PC Windows et j'ai configuré les éléments suivants avant de continuer :
aws --version
sam --version
docker --version
node --version
Nous allons commencer par créer une application de démonstration à l'aide de la commande init, puis procéder à l'invocation de lambda dans le code de l'application (Nodejs).
1> Accédez au dossier dans lequel vous souhaitez configurer votre projet.
sam init --runtime nodejs
Cela créera une application Hello World de base. Elle possède un simple gestionnaire Lambda qu'elle prend en cas d'événement et renvoie les données reçues d'une URL particulière, ainsi qu'un message Hello World.
Approfondissons ce que les fichiers implémentent et comment le code fonctionne :
Vous remarquerez une dépendance nommée 'axios' dans package.json, notez que le module est simplement utilisé pour faire des requêtes HTTP vers l'URL donnée.
2> Installez la dépendance à partir de package.json en accédant au dossier contenant le fichier, puis utilisez la commande :
npm install
3> Maintenant, démarrez le service Lambda localement en exécutant la commande.
sam local start-lambda
Donc, le service Lambda local s'exécute désormais sur le port 3001.
4> Nous invoquerons nos fonctions lambda à partir de notre code d'application à l'aide du SDK AWS. Pour ce faire, créons un exemple de projet node.js. Créez un nouveau dossier, accédez au dossier et entrez la commande.
npm init npm install aws-sdk --save
5> Créez maintenant le fichier test.js et référencez le SDK AWS, configurez la région AWS, instanciez un objet Lambda.
aws --version
L'objet paramètre ici, invoque la fonction Lambda, remplace le nom de la fonction en fonction du code de l'application. Le point de terminaison fait référence à celui sur lequel votre service lambda local est démarré.
6> Exécutez maintenant la commande dans un nouveau terminal :
sam --version
7> Vérification et tests : Lorsque vous revenez au PowerShell AWS SAM, vous pouvez voir qu'il appelle le gestionnaire Lambda localement, en chargeant d'abord la fonction dans un conteneur Docker et exécutez-le avec nos données d'événement d'entrée.
Revenez maintenant à l'autre terminal, vous pouvez voir la réponse de la fonction Lambda, avec le code d'état 200 ✅, le message Hello World et l'adresse IP de localisation ?.
Et voilà : un moyen plus rapide et plus intelligent de tester vos fonctions AWS Lambda sans jamais quitter le confort de votre configuration locale. En appelant Lambdas localement avec JavaScript et NodeJS, vous avez débloqué un tout nouveau niveau d'efficacité. Vous pouvez désormais itérer plus rapidement, déboguer plus intelligemment et créer des applications plus performantes, tout en maintenant vos coûts cloud à un niveau bas.
Bon codage, et que vos Lambdas fonctionnent toujours aussi bien localement que dans le cloud ! ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!