AWS Lambda
Guia do desenvolvedor

Como usar o AWS Lambda com o Lambda@Edge do CloudFront

O Lambda@Edge permite executar funções Lambda em Node.js e em Python para personalizar o conteúdo oferecido pelo CloudFront, executando as funções nos locais da AWS mais próximos do visualizador. As funções executadas em resposta a eventos do CloudFront, sem provisionamento nem gerenciamento de servidores. Você pode usar funções do Lambda para alterar as solicitações e as respostas do CloudFront nos seguintes pontos:

  • Depois de o CloudFront receber uma solicitação de um visualizador (solicitação do visualizador)

  • Antes de o CloudFront encaminhar a solicitação para a origem (solicitação para origem)

  • Depois de o CloudFront receber a resposta da origem (resposta da origem)

  • Antes de o CloudFront encaminhar a resposta ao visualizador (resposta do visualizador)


      Gráfico conceitual que mostra como os eventos do CloudFront podem acionar uma função Lambda.

Você também pode gerar respostas aos visualizadores sem nunca enviar a solicitação para a origem.

exemplo Evento de mensagem do CloudFront

{ "Records": [ { "cf": { "config": { "distributionId": "EDFDVBD6EXAMPLE" }, "request": { "clientIp": "2001:0db8:85a3:0:0:8a2e:0370:7334", "method": "GET", "uri": "/picture.jpg", "headers": { "host": [ { "key": "Host", "value": "d111111abcdef8.cloudfront.net" } ], "user-agent": [ { "key": "User-Agent", "value": "curl/7.51.0" } ] } } } } ] }

Com o Lambda@Edge é possível criar diversas soluções, por exemplo:

  • Inspecione os cookies para reescrever URLs para diferentes versões de um site para teste A/B.

  • Envie objetos diferentes para seus usuários com base no cabeçalho User-Agent, que contém informações sobre o dispositivo que enviou a solicitação. Por exemplo, você pode enviar imagens em diferentes resoluções aos usuários, dependendo de seus dispositivos.

  • Inspecione cabeçalhos ou tokens autorizados, inserindo um cabeçalho correspondente e permitindo controle de acesso antes de encaminhar uma solicitação para a origem.

  • Adicione, exclua e modifique cabeçalhos e reescreva o caminho do URL para direcionar os usuários para diferentes objetos no cache.

  • Gere novas respostas HTTP para executar coisas como redirecionar usuários não autenticados para páginas de login ou criar páginas da Web estáticas e entregá-las direto do ponto de presença. Para obter mais informações, consulte Como usar as funções do Lambda para gerar respostas HTTP a solicitações de visualizador e origem no Guia do desenvolvedor do Amazon CloudFront.

Para obter mais informações sobre como usar o Lambda@Edge, consulte Uso do CloudFront com o Lambda@Edge.