Utilisation AWS Lambda avec CloudFront Lambda @Edge - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation AWS Lambda avec CloudFront Lambda @Edge

Lambda @Edge est une extension AWS Lambda qui vous permet de déployer des fonctions Python et Node.js sur des sites Amazon CloudFront Edge. Un cas d'utilisation courant de Lambda @Edge consiste à utiliser des fonctions pour personnaliser le contenu que votre CloudFront distribution fournit à vos utilisateurs finaux. L'invocation de ces fonctions plus proches de l'utilisateur plutôt que sur les serveurs d'origine réduit considérablement la latence et améliore l'expérience utilisateur.

Lorsque vous associez une CloudFront distribution à une fonction Lambda @Edge, elle CloudFront intercepte les demandes et les réponses à CloudFront des emplacements périphériques. CloudFront invoque ensuite votre fonction Lambda en envoyant un événement. Vous pouvez avoir CloudFront invoqué votre fonction Lambda lorsque les événements suivants se produisent :

  • Quand CloudFront reçoit une demande d'un téléspectateur (demande du téléspectateur)

  • Avant CloudFront de transmettre une demande à l'origine (demande d'origine)

  • Quand CloudFront reçoit une réponse de l'origine (réponse d'origine)

  • Before CloudFront renvoie la réponse au spectateur (réponse du spectateur)

Graphique conceptuel illustrant les CloudFront événements qui peuvent déclencher une fonction Lambda.
Note

Lambda @Edge prend en charge un ensemble limité d'environnements d'exécution et de fonctionnalités. Pour plus de détails, consultez la section Exigences et restrictions relatives aux fonctions Lambda dans le guide du CloudFront développeur Amazon.

Voici un exemple d' CloudFront événement.

Exemple CloudFront événement de message
{ "Records": [ { "cf": { "config": { "distributionId": "EDFDVBD6EXAMPLE" }, "request": { "clientIp": "2001:0db8:85a3:0:0:8a2e:0370:7334", "method": "GET", "uri": "/picture.jpg", "headers": { "host": [ { "key": "Host", "value": "d111111abcdef8.cloudfront.net" } ], "user-agent": [ { "key": "User-Agent", "value": "curl/7.51.0" } ] } } } } ] }

Pour plus d'informations sur l'utilisation de Lambda @Edge, consultez la section Utilisation avec CloudFront Lambda @Edge.