Elección del evento para desencadenar la función - Amazon CloudFront

Elección del evento para desencadenar la función

A la hora de decidir qué evento de CloudFront utilizar para desencadenar una función de Lambda, tenga en cuenta lo siguiente:

Quiero que CloudFront almacene en caché los objetos modificados por una función de Lambda

Para almacenar en caché un objeto modificado por una función de Lambda para que CloudFront pueda enviarlo desde la ubicación periférica la próxima vez que se solicite, utilice el evento de solicitud de origen o 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 agregar, eliminar o cambiar los encabezados de los objetos devueltos por el origen y que CloudFront almacene el resultado en caché, utilice el evento de respuesta del origen.

Deseo que la función se ejecute por cada solicitud

Para ejecutar la función para cada solicitud que CloudFront reciba para la distribución, utilice los eventos de solicitud del lector o de respuesta del lector.

Los eventos de solicitud al origen y respuesta del origen ocurren solo cuando un objeto solicitado no se almacena en caché en una ubicación de borde y CloudFront reenvía una solicitud al origen.

Quiero que la función cambie la clave de caché

Para cambiar un valor que está utilizando como base para el almacenamiento en caché, utilice el evento de solicitud del lector.

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 en la solicitud del lector: https://example.com/en/index.html

  • URL si la solicitud viene de una dirección IP en 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 cookies o encabezados, configure CloudFront para reenviar la parte aplicable de la solicitud al origen. Para obtener más información, consulte los temas siguientes:

La función afecta a la respuesta del origen

Para cambiar la solicitud para que afecte a la respuesta del origen, utilice el evento de solicitud de origen.

Normalmente, la mayoría de los eventos de solicitud de lectores no se reenvían al origen. CloudFront responde a una solicitud con un objeto que ya está en la caché periférica. Si la función modifica la solicitud basándose en un evento de solicitud al origen, CloudFront almacena en caché la respuesta a la solicitud al origen modificada.