Maison > interface Web > js tutoriel > Exécuter des lambdas localement à l'aide de Javascript/Node.js

Exécuter des lambdas localement à l'aide de Javascript/Node.js

Mary-Kate Olsen
Libérer: 2025-01-04 06:23:45
original
669 Les gens l'ont consulté

Running lambdas locally using Javascript/Node.js

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 ?.

Pré-requis :

J'utilise un PC Windows et j'ai configuré les éléments suivants avant de continuer :

  • SDK AWS
aws --version
Copier après la connexion
Copier après la connexion
  • SAM CLI
sam --version
Copier après la connexion
Copier après la connexion
  • Docker
docker --version
Copier après la connexion
  • Node.js
node --version
Copier après la connexion

Commençons !

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
Copier après la connexion

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 :

  • Modèle SAM (template.js) -> il implémente la Fonction HelloWorld où il utilise la propriété Code URI définie sur Hello World SLASH. Cela implique que le code du gestionnaire Lambda se trouve dans le dossier Hello World.
    • app.js -> Ceci est référencé dans la propriété Handler du modèle SAM, il contient une fonction exportée appelée Lambda Handler.

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
Copier après la connexion

3> Maintenant, démarrez le service Lambda localement en exécutant la commande.

sam local start-lambda
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion

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 ?.

Conclusion

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal