Cómo decidir qué CloudFront evento usar para activar una función Lambda @Edge - Amazon CloudFront

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.

Cómo decidir qué CloudFront evento usar para activar una función Lambda @Edge

Cuando decida qué CloudFront evento quiere usar para activar una función Lambda, tenga en cuenta lo siguiente:

¿Desea CloudFront almacenar en caché los objetos modificados por una función Lambda?

Si CloudFront desea almacenar en caché un objeto modificado por una función Lambda para que CloudFront pueda servir el objeto desde la ubicación de borde la próxima vez que se solicite, utilice el evento de solicitud de origen o de respuesta de origen. Esto reduce la carga en el origen, la latencia de las solicitudes posteriores y los costos de invocación de Lambda@Edge en las solicitudes posteriores.

Por ejemplo, si desea añadir, eliminar o cambiar los encabezados de los objetos devueltos por el origen y desea CloudFront almacenar en caché el resultado, utilice el evento de respuesta Origin.

¿Desea que la función se ejecute por cada solicitud?

Si desea que la función se ejecute para cada solicitud que CloudFront reciba para la distribución, utilice los eventos de solicitud o respuesta del espectador. Los eventos de solicitud de origen y respuesta de origen solo se producen cuando un objeto solicitado no se almacena en caché en una ubicación perimetral y CloudFront reenvía una solicitud al origen.

¿La función cambia la clave de caché?

Si desea que la función cambie un valor que está utilizando como base para el almacenamiento en caché, utilice el evento de solicitud del espectador. Por ejemplo, si una función cambia la URL para incluir una abreviatura de idioma en la ruta (por ejemplo, porque el usuario había elegido su idioma en una lista desplegable), utilice el evento de solicitud del espectador:

  • URL de la solicitud del espectador: https://example.com/en/index.html

  • URL cuando la solicitud proviene de una dirección IP de Alemania: https://example.com/de/index.html

También puede utilizar el evento de solicitud del espectador si está almacenando en caché en función de cookies o encabezados de solicitudes.

nota

Si la función cambia las cookies o los encabezados, configúrela CloudFront para reenviar la parte correspondiente de la solicitud al origen. Para obtener más información, consulte los temas siguientes:

¿La función afecta a la respuesta del origen?

Si desea que la función cambie la solicitud para que afecte la respuesta del origen, utilice el evento de solicitud al origen. Normalmente, la mayoría de los eventos de solicitud de espectadores no se reenvían a los eventos de origen, sino que CloudFront responde a una solicitud con un objeto que ya está en la caché perimetral. Si la función cambia la solicitud en función de un evento de solicitud de origen, guarda en CloudFront caché la respuesta a la solicitud de origen modificada.