Uso AWS Lambda con CloudFront Lambda @Edge - AWS Lambda

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso AWS Lambda con CloudFront Lambda @Edge

Lambda @Edge es una extensión AWS Lambda que permite implementar funciones de Python y Node.js en las ubicaciones CloudFront perimetrales de Amazon. Un caso de uso común de Lambda @Edge consiste en utilizar funciones para personalizar el contenido que la CloudFront distribución entrega a los usuarios finales. Invocar estas funciones más cercanas al espectador en lugar de en servidores de origen reduce de forma significativa la latencia y mejora la experiencia del usuario.

Al asociar una CloudFront distribución a una función Lambda @Edge, CloudFront intercepta las solicitudes y respuestas en CloudFront las ubicaciones de borde. CloudFront a continuación, invoca la función Lambda mediante el envío de un evento. Puede hacer que CloudFront invoque la función Lambda cuando se produzcan los siguientes eventos:

  • Cuando CloudFront recibe una solicitud de un espectador (solicitud del espectador)

  • Antes CloudFront de reenviar una solicitud al origen (solicitud de origen)

  • Cuándo CloudFront recibe una respuesta del origen (respuesta de origen)

  • Antes CloudFront devuelve la respuesta al espectador (respuesta del espectador)


      Gráfico conceptual que muestra los  CloudFront  eventos que pueden activar una función Lambda.
nota

Lambda@Edge admite un conjunto limitado de tiempos de ejecución y características. Para obtener más información, consulte Requisitos y restricciones de las funciones Lambda en la guía para CloudFront desarrolladores de Amazon.

El siguiente es un ejemplo de un CloudFront evento.

ejemplo CloudFront evento de mensaje
{ "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" } ] } } } } ] }

Para obtener más información sobre el uso de Lambda @Edge, consulte Uso con CloudFront Lambda @Edge.