Fonctions Serverless en JavaScript : AWS Lambda – guide complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction à l'architecture Serverless et AWS Lambda



Le développement web moderne évolue rapidement vers le calcul sans serveur (serverless). Ce paradigme permet aux développeurs de se concentrer sur l'écriture de la logique métier, sans se soucier de la gestion de l'infrastructure. AWS Lambda est l'un des services les plus populaires pour implémenter des fonctions serverless, et il s'intègre parfaitement avec JavaScript (Node.js).



Dans cet article, nous allons détailler ce qu'est AWS Lambda, comment créer et exécuter votre première fonction serverless en JavaScript, examiner les meilleures pratiques et des exemples de code réel. Ce contenu sera utile aussi bien aux débutants qu'aux développeurs expérimentés souhaitant maîtriser le développement serverless.



Qu'est-ce qu'AWS Lambda et comment fonctionne-t-elle avec Node.js



AWS Lambda est un service de calcul qui exécute votre code en réponse à des événements et gère automatiquement les ressources de calcul. Vous payez uniquement pour le temps d'exécution consommé (arrondi à 1 ms) et le nombre de requêtes.



Caractéristiques clés d'AWS Lambda pour le développeur JavaScript

  • Support de Node.js : AWS Lambda prend officiellement en charge Node.js 14, 16, 18 et 20.
  • Mise à l'échelle automatique : Lambda crée automatiquement des instances de fonction pour traiter chaque requête entrante.
  • Déclencheurs : Les fonctions peuvent être appelées via HTTP (via API Gateway), selon un planning (CloudWatch Events), lors du téléchargement d'un fichier dans S3 et de nombreuses autres manières.
  • Limites : Temps d'exécution jusqu'à 15 minutes, mémoire de 128 Mo à 10 240 Mo, taille du package jusqu'à 50 Mo (compressé) ou 250 Mo (décompressé).


Pour travailler avec Lambda en JavaScript, aucune configuration supplémentaire n'est nécessaire — il suffit d'écrire le handler (gestionnaire) et de télécharger le code dans AWS.



Création de votre première fonction serverless en JavaScript



Écrivons une fonction serverless simple qui accepte un JSON avec le nom d'un utilisateur et retourne un message de bienvenue. C'est un exemple classique par lequel commencer votre découverte d'AWS Lambda.



Étape 1 : Structure de base du handler

Chaque fonction Lambda en Node.js se compose d'une fonction handler exportée qui accepte trois paramètres : event (événement), context (contexte d'exécution) et callback (pour la réponse asynchrone).



// index.jsexports.handler = async (event, context) => {    // Logique de la fonction    const name = event.name || 'Invité';    return {        statusCode: 200,        body: JSON.stringify({            message: `Bonjour, ${name} ! Ceci est votre première fonction serverless.`        })    };};


Étape 2 : Gestion de différents types d'événements

Dans les projets réels, les événements peuvent provenir de différentes sources. Examinons un exemple de traitement d'une requête provenant d'API Gateway :



// handler.jsexports.handler = async (event) => {    try {        // Analyse du corps de la requête (s'il existe)        const body = event.body ? JSON.parse(event.body) : {};        const { userId, action } = body;

// Exemple de logique métier const result = { userId: userId || 'inconnu', action: action || 'par défaut', timestamp: new Date().toISOString(), message: 'Action exécutée avec succès' };

return { statusCode: 200, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' }, body: JSON.stringify(result) }; } catch (error) { return { statusCode: 500, body: JSON.stringify({ error: error.message }) }; }};


Travailler avec des services externes et l'environnement



Les fonctions serverless fonctionnent rarement en isolation. Le plus souvent, elles doivent interagir avec des bases de données, S3, Dyna

Blogs

Book Recommendations