RousselTMLEARNING

TP · AWS : de la découverte à l'expertise

TP : Une API serverless (API Gateway, Lambda, DynamoDB) sur LocalStack

Ce que vous allez apprendre dans ce TP
  • Concevoir une table DynamoDB
  • Déployer une fonction Lambda
  • Exposer une fonction par API Gateway

Introduction #

Ce que vous allez apprendre dans cette section
  • Concevoir une table DynamoDB
  • Déployer une fonction Lambda
  • Exposer une fonction par API Gateway

Contexte. Un service interne doit enregistrer et relire des commandes. Vous construisez une API serverless qui ne coûte rien quand elle ne sert pas.

Prérequis : Docker, le CLI AWS et LocalStack (pip install localstack awscli-local terraform-local) : tout s'exécute en local, sans compte AWS ni frais  ·  Durée estimée : 60 min

Une API qui crée et lit des commandes dans DynamoDB.

Mise en place #

Étapes guidées, avec leur correction.

  1. 1. Créer la table

    Pourquoi ? La clé de partition répartit les données ; ici, une commande est lue par son identifiant.

    Créez la table commandes (clé id, facturation à la requête).
  2. 2. Écrire et déployer la fonction

    Pourquoi ? La fonction lit la méthode HTTP de l'événement API Gateway et agit sur la table.

    Écrivez app.py (POST crée une commande, GET la relit), zippez-la et créez la fonction.
  3. 3. Exposer par une API HTTP

    Pourquoi ? API Gateway route les requêtes HTTP vers la fonction.

    Créez une API HTTP avec les routes POST /commandes et GET /commandes/{id} intégrées à la fonction.
  4. 4. Tester et observer

    Pourquoi ? Les logs de la fonction arrivent dans CloudWatch Logs, comme sur AWS.

    Créez une commande, relisez-la, demandez un identifiant inexistant et consultez les logs.

Niveau de difficulté : ●●●○○ (3/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 1 h

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Articles recommandés

Le calcul sur AWS : EC2, Auto Scaling, Lambda et conteneurs

Choisir et utiliser les services de calcul AWS : instances EC2 (types, AMI, EBS, user data, modèl...

Les bases de données sur AWS : RDS, Aurora, DynamoDB et ElastiCache

Choisir une base de données managée sur AWS : RDS et Aurora pour le relationnel (multi-AZ, réplic...

Informatique serverless : définition, FaaS et cas d'usage

L'informatique serverless expliquée : Function as a Service (FaaS), fonctionnement, avantages, li...

Le réseau AWS : VPC, sous-réseaux, routage et sécurité

Concevoir un réseau AWS : VPC et plages CIDR, sous-réseaux publics et privés, tables de routage, ...

Kubernetes : exposer ses applications (Services, Ingress et Gateway API)

Exposer des applications dans Kubernetes : Services ClusterIP/NodePort/LoadBalancer, Ingress, Ing...

Comprendre AWS : infrastructure mondiale, comptes, outils et tarification

Les bases indispensables pour démarrer sur Amazon Web Services : régions, zones de disponibilité ...

Le stockage sur AWS : S3, EBS, EFS et sauvegarde

Stocker des données sur AWS : Amazon S3 (buckets, classes de stockage, versionnage, cycle de vie,...

Infrastructure as Code sur AWS : CloudFormation, CDK, Terraform et Well-Architected

Décrire et déployer son infrastructure AWS en code avec CloudFormation, le CDK ou Terraform, auto...

Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes

Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !