[Video] Exposer une fonction Lambda via API Gateway
Objectifs
- Créer une fonction AWS Lambda via la console.
- Configurer une API Gateway pour exposer cette fonction via HTTP.
- Tester l’API avec un navigateur ou un outil comme Postman.
- (Optionnel) Ajouter une clé API pour sécuriser l’accès.
- Nettoyer les ressources.
🛠 Étape 1 : Créer une Fonction AWS Lambda
- Accéder à AWS Lambda
- Connectez-vous à la console AWS.
- Recherchez et ouvrez AWS Lambda.
- Créer une nouvelle fonction Lambda
- Cliquez sur Créer une fonction.
- Sélectionnez Créer à partir de zéro.
- Nom de la fonction : HelloLambda.
- Runtime : Python 3.9 (ou autre version supportée).
- Rôle d’exécution :
- Sélectionnez Créer un rôle avec des permissions de base Lambda.
- Cliquez sur Créer une fonction.
- Modifier le code de la fonction Lambda
Descendez jusqu’à Code source et modifiez lambda_function.py :
python
mport json
def lambda_handler(event, context):
return {
"statusCode": 200,
"headers": {"Content-Type": "application/json"},
"body": json.dumps({"message": "Hello from Lambda!"})
}
Cliquez sur Déployer.
🛠 Étape 2 : Configurer API Gateway pour exposer la fonction Lambda
- Accéder à Amazon API Gateway
- Recherchez et ouvrez API Gateway dans la console AWS.
- Créer une nouvelle API
- Cliquez sur Créer une API.
- Choisissez HTTP API.
- Cliquez sur Création.
- Configurer l’API
- Nom d’API : HelloLambdaAPI
- Configurer l’intégration avec Lambda
- Cliquez sur Ajouter une intégration.
- Sélectionnez Fonction Lambda.
- Choisissez votre fonction HelloLambda.
- Cliquez sur Créer une route.
- Modiier la route existante pour exposer Lambda
- Méthode HTTP : GET.
- Ressource : /hello (ou autre nom de votre choix).
- Cliquez sur Suivant.
- Définir les étapes
- Cliquez sur Suivant.
- Vérifier et créer
- Cliquez sur Créer.
Notez l’URL d’invocation (ou point de terminaison par défaut) générée (ex: https://abc123.execute-api.us-east-1.amazonaws.com).
🛠 Étape 3 : Tester l’API
- Utiliser un navigateur
Ouvrez votre navigateur et entrez l’URL suivie de /hello :
bash
https://abc123.execute-api.us-east-1.amazonaws.com/hello
Vous devriez voir la réponse : json
{"message": "Hello from Lambda!"}
Tester avec curl (Terminal)
curl -X GET "https://abc123.execute-api.us-east-1.amazonaws.com/hello"
🔒 (Optionnel) Ajouter une Clé API pour sécuriser l’accès
- Dans API Gateway, ouvrez l’onglet Authentification et accès.
- Activez Clé API requise sur la route /hello.
- Créez une clé API et assignez-la à votre API.
Lors des requêtes, ajoutez x-api-key: votre_cle dans l’en-tête.
🗑 Étape 4 : Nettoyer les ressources
- Supprimez l’API dans API Gateway.
- Supprimez la fonction HelloLambda dans AWS Lambda.