Créer des API avec Amazon API Gateway

Déployer des applications sur AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Trois clients, un backend

  • Web, mobile et un partenaire appellent tous un même backend
  • Chacun parle un format légèrement différent
  • Une porte d'entrée valide et transforme chaque appel

 

Trois types de clients connectés via un seul API Gateway qui achemine les requêtes vers des services backend

Déployer des applications sur AWS

Rôle d'API Gateway

API Gateway comme porte d'entrée managée : les clients web et mobiles passent par une passerelle centrale avec routage, auth, limitation et transformation vers Lambda, des points de terminaison HTTP et des services AWS

  • Une porte d'entrée entièrement managée pour vos API
  • Gère le routage, l'auth, la limitation et la transformation
  • S'intercale entre les clients et votre backend
  • Backends : Lambda, points de terminaison HTTP ou services AWS
Déployer des applications sur AWS

Types d'intégration

  • Lambda proxy : transmet toute la requête à Lambda
  • Lambda non‑proxy : vous mappez champs de requête et de réponse
  • HTTP : achemine vers un backend HTTP
  • MOCK : renvoie une réponse sans backend

Quatre types d'intégration API Gateway : Lambda proxy transmettant la requête complète, Lambda non‑proxy via des modèles de mappage, HTTP vers un endpoint, et MOCK renvoyant une réponse statique

Déployer des applications sur AWS

Transformations requêtes et réponses

  • Les modèles de mappage remodèlent les charges avec VTL
  • Velocity Template Language transforme corps, en‑têtes, paramètres
  • Mappage de requête : format client vers format backend
  • Mappage de réponse : format backend vers format client

Flux de modèle VTL : la charge client est transformée par le modèle de requête avant le backend, puis la réponse backend par le modèle de réponse avant retour au client

Déployer des applications sur AWS

Validation des requêtes

Modes de validation des requêtes : valider le corps selon un schéma JSON, valider les paramètres de requête et d'en‑tête requis, ou valider les deux avant l'appel du backend Lambda

  • Rejeter les mauvaises entrées avant le backend
  • Paramètres requis : en‑têtes, chaînes de requête, chemins
  • Schémas de modèle : valider la structure JSON du corps
  • Valider le corps, les paramètres, ou les deux
Déployer des applications sur AWS

Codes d'état et contrats d'erreur

  • Remplacer les codes d'état backend pour un contrat cohérent
  • Mapper un 502 backend en un 503 clair pour les clients
  • Réponses de la passerelle : personnaliser les corps d'erreur
  • Des erreurs prévisibles côté client, quel que soit le backend

Cycle complet de requête API Gateway : la validation rejette les mauvaises entrées à l'entrée, le modèle de mappage remodèle les entrées valides pour le backend, le modèle de réponse formate la sortie selon un contrat client cohérent

Déployer des applications sur AWS

Vue d'ensemble

  • Requête client → validation → transformation → backend
  • Mauvaise entrée rejetée à la porte
  • Bonne entrée remodelée pour le backend
  • Réponse backend remodelée selon le contrat client

Cycle complet de requête API Gateway : la validation rejette les mauvaises entrées à l'entrée, le modèle de mappage remodèle les entrées valides pour le backend, le modèle de réponse formate la sortie selon un contrat client cohérent

Déployer des applications sur AWS

Passons à la pratique !

Déployer des applications sur AWS

Preparing Video For Download...