

# Escolher o evento para acionar a função
<a name="lambda-how-to-choose-event"></a>

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.  
Se a função alterar cookies ou cabeçalhos, configure o CloudFront para encaminhar a parte aplicável da solicitação à origem. Para saber mais, consulte os seguintes tópicos:  
+ [Conteúdo em cache com base em cookies](Cookies.md)
+ [Conteúdo em cache com base nos cabeçalhos de solicitação](header-caching.md)

**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.