Eventos de CloudFront que pueden desencadenar una función de Lambda - Amazon CloudFront

Eventos de CloudFront que pueden desencadenar una función de Lambda

Para cada comportamiento de la caché de una distribución de CloudFront, puede agregar hasta cuatro desencadenadores (asociaciones) que harán que se ejecute una función de Lambda cuando se produzcan determinados eventos de CloudFront. Los desencadenadores de CloudFront pueden basarse en uno de los cuatro eventos de CloudFront que se muestran en el siguiente diagrama.


					Gráfico conceptual que muestra los eventos disparadores de CloudFront para las funciones de Lambda que se integran con CloudFront.

El eventos de CloudFront que pueden utilizarse para activar funciones de Lambda@Edge son los siguientes:

Solicitud del espectador

La función se ejecuta cuando CloudFront recibe una solicitud de un lector y antes de comprobar si el objeto solicitado está en la caché de CloudFront.

Solicitud al origen

La función se ejecuta solo cuando CloudFront reenvía una solicitud a su origen. Cuando el objeto solicitado está en la caché de CloudFront, la función no se ejecuta.

Respuesta del origen

La función se ejecuta después de que CloudFront recibe una respuesta del origen y antes de almacenar el objeto en caché en la respuesta. Tenga en cuenta que la función se ejecuta aunque el origen devuelva un error.

La función no se ejecuta en los siguientes casos:

  • Cuando el archivo solicitado está en la caché de CloudFront y no ha caducado.

  • Cuando la respuesta se genera a partir de una función activada por un evento de solicitud al origen.

Respuesta al espectador

La función se ejecuta antes de devolver el archivo solicitado al espectador. Tenga en cuenta que la función se ejecuta independientemente de si el archivo ya está en la caché de CloudFront.

La función no se ejecuta en los siguientes casos:

  • Cuando el origen devuelve un código de estado HTTP 400 o superior.

  • Cuando se devuelve una página de error personalizada.

  • Cuando la respuesta se genera a partir de una función activada por un evento de solicitud del espectador.

  • Cuando CloudFront redirige automáticamente una solicitud HTTP a HTTPS (cuando el valor de Viewer Protocol Policy es Redirect HTTP to HTTPS (Redirigir HTTP a HTTPS)).

Si añade varios disparadores al mismo comportamiento de la caché, puede utilizarlos para ejecutar la misma función o distintas funciones para cada disparador. También puede asociar la misma función a más de una distribución.

nota

Cuando un evento de CloudFront desencadena la ejecución de una función Lambda, la función debe finalizar antes de que CloudFront pueda continuar. Por ejemplo, si una función de Lambda se activa por medio de un evento de solicitud del lector de CloudFront, CloudFront no devolverá una respuesta al lector ni reenviará la solicitud al origen hasta que la función de Lambda termine de ejecutarse. Esto significa que cada solicitud que desencadena una función de Lambda aumenta la latencia de la solicitud, por lo que es conveniente que la función se ejecute con la mayor rapidez posible.