Personnalisation en périphérie avec Lambda@Edge - Amazon CloudFront

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.

Personnalisation en périphérie avec Lambda@Edge

Lambda@Edge est une extension d’AWS Lambda. Lambda @Edge est un service de calcul qui vous permet d'exécuter des fonctions qui personnalisent le contenu diffusé. CloudFront Vous pouvez créer des fonctions Node.js ou Python dans une région, USA Est (Virginie du Nord), et les exécuter dans des emplacements AWS plus proches de l'utilisateur à l'échelle mondiale sans provisionner ni gérer de serveurs. Lambda@Edge s'adapte automatiquement, de quelques requêtes par jour jusqu'à des milliers de requêtes par seconde. Le fait de traiter les requêtes dans les emplacements AWS les 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. Vous pouvez exécuter des fonctions Lambda lorsque les CloudFront é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)

Il existe de nombreux usages pour le traitement Lambda@Edge. Exemples :

  • Une fonction Lambda peut inspecter les cookies et réécrire les URL afin que les utilisateurs voient des versions différentes d'un site à des fins de test A/B.

  • CloudFront peuvent renvoyer différents objets aux spectateurs en fonction de l'appareil qu'ils utilisent en vérifiant l'User-Agenten-tête, qui inclut des informations sur les appareils. Par exemple, ils CloudFront peuvent renvoyer différentes images en fonction de la taille de l'écran de leur appareil. De même, la fonction peut prendre en compte la valeur de l'Refereren-tête et CloudFront renvoyer les images aux robots dont la résolution disponible est la plus faible.

  • Ou, vous pouvez vérifier les cookies pour d'autres critères. Par exemple, sur un site Web de vente au détail qui vend des vêtements, si vous utilisez des cookies pour indiquer la couleur choisie par un utilisateur pour une veste, une fonction Lambda peut modifier la demande afin de CloudFront renvoyer l'image d'une veste dans la couleur sélectionnée.

  • Une fonction Lambda peut générer des réponses HTTP lorsque des événements de demande d' CloudFront utilisateur ou de demande d'origine se produisent.

  • Une fonction peut inspecter les en-têtes ou les jetons d'autorisation et insérer un en-tête pour contrôler l'accès à votre contenu avant de CloudFront transmettre la demande à votre origine.

  • Une fonction Lambda peut également effectuer des appels réseau à des ressources externes pour confirmer les informations d'identification utilisateur, ou récupérer du contenu supplémentaire pour personnaliser une réponse.

Pour obtenir des exemples de code et des exemples supplémentaires, consultez Exemples de fonctions Lambda@Edge.