A continuación, se explica cómo decidir qué evento de CloudFront utilizar para desencadenar una función de Lambda. - Amazon CloudFront

A continuación, se explica cómo decidir qué evento de CloudFront utilizar para desencadenar una función de Lambda.

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

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

Si desea que CloudFront almacene en caché un objeto modificado por una función de Lambda para que CloudFront pueda enviarlo desde la ubicación de borde la próxima vez que se solicite, utilice los eventos de solicitud al origen o respuesta del 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.

¿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 del lector o de respuesta al 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.

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

  • URL si la solicitud viene de una dirección IP en Alemania: http://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 siguientes temas:

¿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 lectores no se reenvían al origen, sino que CloudFront responde a una solicitud con un objeto que ya está en la caché de borde. 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.