Escolher o evento para acionar a função
Ao decidir qual evento do CloudFront você deseja usar para acionar uma função do Lambda, considere:
- Quero que o CloudFront armazene em cache objetos que são alterados por uma função do Lambda
-
Para armazenar em cache um objeto que foi modificado por uma função do Lambda para que o CloudFront possa fornecer o objeto no local da borda na próxima vez que ele for solicitado, use os eventos de solicitação da origem ou de resposta da origem.
Isso reduz a carga na origem, a latência de solicitações subsequentes e o custo de chamar o Lambda@Edge em solicitações subsequentes.
Por exemplo, para adicionar, remover ou alterar os cabeçalhos dos objetos retornados pela origem e quiser que o CloudFront armazene o resultado em cache, use o evento de resposta da origem.
- Quero que a função seja executada em todas as solicitações
-
Se quiser executar a função para todas as solicitações que o CloudFront recebe para a distribuição, use os eventos de solicitação do visualizador ou de resposta do visualizador.
Os eventos de solicitação e de resposta da origem ocorrem somente quando um objeto solicitado não é armazenado em cache em um ponto de presença, e o CloudFront encaminha uma solicitação para a origem.
- Quero que a função altere a chave de cache
-
Para alterar um valor que está sendo usado como base para o armazenamento em cache, use o evento de solicitação do visualizador.
Por exemplo, se uma função altera o URL para incluir a abreviação de um idioma no caminho (por exemplo, porque o usuário escolheu o idioma em uma lista suspensa), use o evento de solicitação do visualizador:
-
URL na solicitação do visualizador: https://example.com/en/index.html
-
URL quando a solicitação é proveniente de um endereço IP na Alemanha: https://example.com/de/index.html
O evento de solicitação do visualizador também pode ser usada se você estiver armazenando em cache com base em cookies ou cabeçalhos de solicitação.
nota
Se a função alterar cookies ou cabeçalhos, configure o CloudFront para encaminhar a parte aplicável da solicitação à origem. Para obter mais informações, consulte os tópicos a seguir.
-
- A função afeta a resposta da origem
-
Para alterar a solicitação de maneira a afetar a resposta da origem, use o evento de solicitação de origem.
Normalmente, a maioria dos eventos de solicitação do visualizador não é encaminhada para a origem. O CloudFront responde a uma solicitação com um objeto que já está no cache da borda. Se a função alterar a solicitação com base em um evento de solicitação de origem, o CloudFront armazenará em cache a resposta à solicitação de origem alterada.