Cible d'invocation stable pendant que vous poussez du nouveau code Lambda.
Publier des versions numérotées et immuables ; exposer un alias qui pointe vers une version. Les appelants invoquent l'ARN de l'alias.
Pourquoi: Les versions sont des instantanés figés de code + configuration ; les alias fournissent une indirection pour que les appelants n'invoquent jamais directement `$LATEST`.
Référence
Déploiement progressif d'une nouvelle version de Lambda avec retour arriÚre automatique en cas d'erreurs.
Alias avec routage de version pondéré (par exemple 90/10). CodeDeploy `LambdaCanary10Percent5Minutes` ou `LambdaLinear*` déplace le trafic et surveille les alarmes CloudWatch.
Pourquoi: Le décalage de trafic intégré + le retour arriÚre basé sur les alarmes éliminent la logique canary codée manuellement.
Référence
Injecter la configuration (URL de base de données, indicateurs de fonctionnalités) sans redéploiement.
Variables d'environnement Lambda. Chiffrées par KMS au repos ; référencez une CMK personnalisée pour un chiffrement supplémentaire en transit lors de la récupération.
Référence
Partager NumPy / pandas / environnement d'exécution commun entre plusieurs Lambdas.
Empaqueter en tant que couche Lambda ; jusqu'à 5 couches par fonction, total 250 Mo décompressés. ARN versionné par couche.
Référence
Lambda synchrone sensible à la latence - pas de démarrage à froid autorisé.
Concurrence provisionnée sur l'alias. Pré-initialise N environnements d'exécution ; facturé par seconde-gigaoctet.
Pourquoi: Ălimine le dĂ©marrage Ă froid Ă un coĂ»t prĂ©visible. Configurez l'auto-scaling d'application sur l'alias pour s'adapter Ă la charge.
Référence
Lambda Java ou Python avec un code d'initialisation lourd ; besoin d'un démarrage à froid rapide sans payer pour la concurrence provisionnée.
Activer SnapStart sur une version publiée. AWS prend un instantané de l'environnement d'exécution initialisé et reprend à partir de celui-ci.
Pourquoi: Gratuit pour Java ; facturé par restauration pour Python/.NET. Réduit les démarrages à froid de plusieurs secondes à <1s sans coût d'inactivité.
Référence
Lambda doit consommer un flux Kinesis / un flux DynamoDB / une file d'attente SQS / un sujet MSK.
Mappage de source d'Ă©vĂ©nement (basĂ© sur le pull). Lambda interroge ; taille du lot + fenĂȘtre de regroupement maximale ajustent le dĂ©bit vs la latence. Ăchec â DLQ via destination On-Failure.
Pourquoi: Pour les sources basées sur le pull, le service ne peut pas invoquer directement Lambda ; le mappage est l'adaptateur d'interrogation de Lambda.
Référence
Routage succÚs/échec de Lambda asynchrone sans DLQ Lambda.
Destinations OnSuccess / OnFailure sur la fonction. Cibles : SNS, SQS, EventBridge, une autre fonction Lambda. Inclut le contexte d'invocation.
Pourquoi: Les destinations capturent l'événement complet + la réponse ; la DLQ héritée ne capture que la charge utile de l'événement.
Référence
Choisir le type d'API Gateway pour une nouvelle API REST.
API HTTP : moins chĂšre, plus rapide, authentification JWT intĂ©grĂ©e, plus simple. API REST : fonctionnalitĂ©s complĂštes (modĂšles de mappage, validateurs de requĂȘtes, WAF, points de terminaison privĂ©s, X-Ray, mise en cache d'API).
Pourquoi: Utilisez l'API HTTP par défaut, sauf si vous avez besoin d'une fonctionnalité spécifique aux API REST. Les API WebSocket sont un produit distinct pour le temps réel avec état.
Référence
Promouvoir les modifications d'API de dev â test â prod sans redĂ©ployer des API distinctes.
Ătapes sur une seule API. DĂ©ployez une Ă©tape pour publier ; les variables d'Ă©tape contiennent des valeurs spĂ©cifiques Ă l'environnement comme les noms d'alias Lambda.
Référence
Le backend Lambda s'attend à une forme différente de celle envoyée par le client.
ModĂšle de mappage requĂȘte/rĂ©ponse (API REST uniquement). VTL avec `$input`, `$context`, `$util` pour transformer le JSON.
Pourquoi: Les modÚles de mappage s'exécutent dans API Gateway - pas de saut Lambda supplémentaire, pas de latence ou de coût supplémentaire.
Référence
Valider un jeton personnalisĂ© (pas Cognito, pas IAM) avant de router la requĂȘte.
Authorizer Lambda. Le type TOKEN lit un en-tĂȘte ; le type REQUEST lit le contexte de requĂȘte complet. Renvoie la politique IAM + principalId. Mis en cache par identitĂ© pour la durĂ©e de vie (TTL).
Référence
Valider un JWT de Cognito User Pool Ă chaque requĂȘte.
Authorizer Cognito User Pool (REST) ou authorizer JWT (HTTP). API Gateway valide le jeton ; aucune Lambda n'est nécessaire.
Pourquoi: La validation native est moins chĂšre et plus rapide qu'un authorizer Lambda pour le cas courant du JWT.
Référence
Limiter/allouer le quota d'un consommateur d'API partenaire.
Plan d'utilisation + Clé API. Le plan associe les clés à une étape avec une limite de débit (req/sec) + rafale + quota (req/jour ou mois).
Référence
RĂ©duire la charge du backend pour les requĂȘtes GET rĂ©pĂ©tĂ©es.
Cache au niveau de l'Ă©tape (API REST). TTL configurable ; clĂ© de cache dĂ©rivĂ©e de la mĂ©thode + chemin + paramĂštres de requĂȘte/en-tĂȘte sĂ©lectionnĂ©s.
Référence
Mettre à jour un élément uniquement si une précondition est remplie (par exemple, statut == "PENDING").
PutItem/UpdateItem avec `ConditionExpression`. L'échec lÚve une `ConditionalCheckFailedException`.
Pourquoi: La vérification cÎté serveur évite les conflits de lecture-modification-écriture sans verrouillage.
Référence
Tout ou rien sur plusieurs éléments DynamoDB.
`TransactWriteItems` / `TransactGetItems`. Jusqu'à 100 éléments / 4 Mo ; 2 fois le coût WCU/RCU des écritures/lectures normales.
Référence
Incrémenter un compteur sans lecture-modification-écriture.
UpdateExpression `ADD count :inc`. Le serveur applique le delta de maniĂšre atomique.
Référence
Besoin d'un modÚle d'accÚs supplémentaire au-delà de la clé primaire.
GSI : clĂ© de partition + de tri alternative, cohĂ©rence Ă©ventuelle, capacitĂ© sĂ©parĂ©e, peut ĂȘtre ajoutĂ©e Ă tout moment. LSI : mĂȘme clĂ© de partition, clĂ© de tri alternative, option de forte cohĂ©rence, doit ĂȘtre créée lors de la crĂ©ation de la table.
Référence
Indexer uniquement les éléments qui ont un attribut particulier (par exemple, seules les commandes ACTIVES).
Index sparse : omettez l'attribut sur les éléments que vous souhaitez exclure. Les éléments sans l'attribut indexé n'apparaissent pas dans le GSI/LSI.
Référence
Lecture/écriture en masse de plusieurs éléments.
`BatchGetItem` (jusqu'à 100 éléments / 16 Mo) et `BatchWriteItem` (jusqu'à 25 éléments / 16 Mo). Non atomique ; les échecs partiels sont retournés dans `UnprocessedItems`.
Référence
EmpĂȘcher les mises Ă jour perdues dues aux Ă©crivains concurrents.
Attribut de version + `ConditionExpression: version = :v`. Les écritures échouées sont retentées par relecture.
Référence
Déclencher des actions en aval à chaque modification de DynamoDB.
DynamoDB Streams + mappage de source d'événement Lambda. Vue du flux : NEW_IMAGE / OLD_IMAGE / NEW_AND_OLD_IMAGES / KEYS_ONLY.
Référence
Le navigateur télécharge/téléverse directement vers S3 sans que votre serveur ne proxifie les octets.
SDK `getSignedUrl` pour GET ou PUT. Expiration jusqu'à 7 jours lorsqu'il est signé par un utilisateur IAM (sigv4) ; plus court pour les sessions dérivées de rÎles.
Pourquoi: Décharge la bande passante de votre backend ; l'URL est une capacité temporaire limitée à un objet + méthode.
Référence
TĂ©lĂ©verser un fichier volumineux (â«100 Mo) de maniĂšre fiable depuis le SDK.
`CreateMultipartUpload` â `UploadPart` parallĂšle â `CompleteMultipartUpload`. Le gestionnaire de transfert de haut niveau du SDK gĂšre automatiquement le dimensionnement des parties.
Pourquoi: Obligatoire >5 Go ; recommandĂ© â„100 Mo. Les parties Ă©chouĂ©es sont re-tĂ©lĂ©versĂ©es indĂ©pendamment. DĂ©finissez le cycle de vie pour annuler les multiparts incomplets afin de rĂ©cupĂ©rer de l'espace de stockage.
Référence
Exécuter du code lorsqu'un objet est créé/supprimé dans S3.
Notifications d'Ă©vĂ©nements S3 â Lambda / SNS / SQS / EventBridge. Filtrer par prĂ©fixe et suffixe.
Référence
L'application navigateur récupÚre des données de S3 via des origines différentes (`fetch('https://bucket.s3...')`) ; la pré-vérification CORS échoue.
Configurer les rĂšgles CORS du bucket : origines autorisĂ©es, mĂ©thodes (GET/PUT), en-tĂȘtes et en-tĂȘtes exposĂ©s.
Référence
Filtrer les lignes d'un objet CSV/JSON/Parquet de 50 Go sans le télécharger.
S3 Select avec SQL. Ne renvoie que les lignes correspondantes ; payez pour le scan + les octets retournés.
Référence
Connecter un utilisateur depuis un client mobile/web public sans envoyer le mot de passe.
Cognito User Pool avec le flux `USER_SRP_AUTH`. Le client calcule la preuve SRP ; le backend ne voit jamais le mot de passe. Renvoie les jetons ID + accĂšs + rafraĂźchissement.
Référence
Un utilisateur fédéré (Google/Apple/Cognito UP) a besoin de justificatifs AWS temporaires pour appeler les API AWS directement depuis une application mobile.
Cognito Identity Pool. Ăchange le jeton du fournisseur d'identitĂ© â rĂŽle IAM â justificatifs AWS temporaires via STS.
Pourquoi: Les User Pools authentifient les utilisateurs ; les Identity Pools les autorisent à accéder aux ressources AWS.
Référence
Choisir un type de flux de travail Step Functions.
Standard : longue durĂ©e (â€1 an), exĂ©cution unique et exacte, 0,025 $/1k transitions, historique complet. Express : â€5 min, au moins une fois ou au plus une fois, facturĂ© par requĂȘte + durĂ©e ; pour l'ETL/streaming Ă haut volume.
Référence
Une étape du flux de travail échoue ; souhaiter une nouvelle tentative avec backoff et un routage vers un état de récupération.
Tableau `Retry` (par état, avec `BackoffRate` + `MaxAttempts`) et `Catch` pour le routage des échecs terminaux. Correspondance par `ErrorEquals` (par exemple `States.TaskFailed`, noms d'erreurs personnalisés).
Référence
Appliquer le mĂȘme flux de travail Ă chaque Ă©lĂ©ment d'un tableau, avec une limite de concurrence.
Ătat Map avec `ItemsPath` et `MaxConcurrency`. La carte distribuĂ©e gĂšre plus de 10 000 Ă©lĂ©ments avec une entrĂ©e sauvegardĂ©e par S3.
Référence
Déclencher Lambda soit selon une planification cron, soit en fonction d'événements entrants correspondants.
RÚgle EventBridge. Planification : `rate(...)` ou `cron(...)`. ModÚle : filtre d'événements JSON ; correspondance sur la source, le type de détail, les champs de détail.
Référence
Router des événements de SQS / Kinesis / DynamoDB Streams / MSK vers une cible avec filtre + transformation optionnels.
EventBridge Pipes. Source â Filtre â Enrichissement (Lambda/Step Functions) â Cible. Aucune Lambda n'est nĂ©cessaire pour les cas simples.
Référence
Traiter les messages strictement dans l'ordre par client, avec déduplication.
File d'attente SQS FIFO. `MessageGroupId` partitionne l'ordonnancement (parallélisme par groupe) ; `MessageDeduplicationId` (ou déduplication basée sur le contenu) supprime les doublons dans les 5 minutes.
Référence
Un consommateur extrait un message mais plante avant de le supprimer.
Message masqué pendant VisibilityTimeout secondes, puis réapparaßt pour une nouvelle livraison. Ajuster au temps de traitement attendu le plus long + tampon.
Pourquoi: Trop court â traitement en double. Trop long â rĂ©cupĂ©ration lente en cas de plantage. ChangeMessageVisibility prolonge la durĂ©e de visibilitĂ© si nĂ©cessaire.
Référence
Un événement doit atteindre plusieurs consommateurs (Lambdas / files d'attente SQS / points de terminaison HTTP).
Rubrique SNS avec plusieurs abonnés. Les politiques de filtrage d'abonnement acheminent uniquement les messages correspondants par abonné.
Référence
Ajuster la capacité de Kinesis Data Streams pour le débit d'écriture.
Chaque shard = 1 Mo/s ou 1000 enregistrements/s en entrée, 2 Mo/s en sortie. Ajouter des shards (split) ou utiliser le mode On-Demand pour l'auto-scaling.
Référence