Eventi CloudFront che possono attivare una funzione LambdaòEdge - Amazon CloudFront

Eventi CloudFront che possono attivare una funzione LambdaòEdge

Per ogni comportamento cache in una distribuzione Amazon CloudFront, puoi aggiungere fino a quattro trigger (associazioni) che determinano l’esecuzione di una funzione Lambda quando si verificano specifici eventi di CloudFront. I trigger CloudFront possono essere basati su quattro eventi CloudFront, come illustrato nel seguente diagramma.

Grafico concettuale che illustra in che modo gli eventi di trigger CloudFront per le funzioni Lambda si integrano con CloudFront.

Gli eventi CloudFront che possono essere utilizzati per attivare le funzioni Lambda@Edge sono i seguenti:

Richiesta visualizzatore

La funzione viene eseguita quando CloudFront riceve una richiesta da un visualizzatore e prima che verifichi se l'oggetto richiesto è nella cache di CloudFront.

La funzione non viene eseguita nei seguenti casi:

Richiesta origine

La funzione viene eseguita solo quando CloudFront inoltra una richiesta all'origine. Quando l'oggetto richiesto è nella cache di CloudFront, la funzione non viene eseguita.

Risposta origine

La funzione viene eseguita dopo che CloudFront riceve una risposta dall'origine e prima che memorizzi nella cache l'oggetto nella risposta. La funzione verrà eseguita anche se l'origine restituisce un errore.

La funzione non viene eseguita nei seguenti casi:

  • Quando il file richiesto è nella cache CloudFront e non è scaduto.

  • Quando la risposta viene generata da una funzione che è stata attivata da un evento di richiesta origine

Risposta visualizzatore

La funzione viene eseguita prima di restituire il file richiesto al visualizzatore. La funzione viene eseguita indipendentemente dalla presenza o meno del file nella cache CloudFront.

La funzione non viene eseguita nei seguenti casi:

  • Quando l'origine restituisce un codice di stato HTTP 400 o superiore

  • Quando viene restituita una pagina di errore personalizzata

  • Quando la risposta viene generata da una funzione che è stata attivata da un evento di richiesta visualizzatore

  • Quando CloudFront reindirizza automaticamente una richiesta HTTP a HTTPS (quando il valore di Viewer Protocol Policy (Policy protocollo visualizzatore) è Reindirizza HTTP a HTTPS).

Quando aggiungi più trigger allo stesso comportamento cache, puoi utilizzarli per eseguire la stessa funzione o eseguire funzioni differenti per ciascun trigger. Puoi anche associare la stessa funzione a più di una distribuzione.

Nota

Quando un evento CloudFront attiva l’esecuzione di una funzione Lambda, la funzione deve terminare prima che CloudFront possa continuare.

Ad esempio, quando una funzione Lambda viene attivata da una richiesta del visualizzatore di CloudFront, questo non restituirà una risposta al visualizzatore né inoltrerà la richiesta all'origine fino a quando non viene completata l'esecuzione della funzione Lambda.

Ciò significa che ogni richiesta che attiva una funzione Lambda aumenta la latenza per la richiesta, pertanto è consigliabile che la funzione venga eseguita il più rapidamente possibile.