Tutorial: Criar uma função simples com o CloudFront Functions
Este tutorial mostra como começar a usar o CloudFront Functions. É possível criar uma função simples que redirecione o visualizador para um URL diferente e também exiba um cabeçalho de resposta personalizado.
Pré-requisitos
Para usar o CloudFront Functions, você precisa de uma distribuição do CloudFront. Se você não tiver uma, consulte Conceitos básicos de uma distribuição básica do CloudFront.
Criar a função
É possível usar o console do CloudFront para criar uma função simples que redirecione o visualizador para um URL diferente e também exiba um cabeçalho de resposta personalizado.
Como criar uma função do CloudFront
Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home
. -
No painel de navegação, escolha Funções e selecione Criar função.
-
Na página Create function (Criar função), em Name (Nome), insira um nome de função, como
MyFunctionName
. -
(Opcional) Em Description (Descrição), insira uma descrição para a função, como
Simple test function
. -
Em Runtime, mantenha a versão padrão selecionada do JavaScript.
-
Escolha a opção Criar função.
-
Copie o código da função a seguir. Esse código de função redireciona o visualizador para uma URL diferente e também retorna um cabeçalho de resposta personalizado.
function handler(event) { // NOTE: This example function is for a viewer request event trigger. // Choose viewer request for event trigger when you associate this function with a distribution. var response = { statusCode: 302, statusDescription: 'Found', headers: { 'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' }, 'location': { value: 'https://aws.amazon.com/cloudfront/' } } }; return response; }
-
Em Function code (Código da função), cole o código no editor para substituir o código padrão.
-
Escolha Salvar alterações.
-
(Opcional) É possível testar a função antes de publicá-la. Este tutorial não descreve como testar uma função. Para ter mais informações, consulte Testar funções.
-
Escolha a guia Publish (Publicar) e, em seguida, escolha Publish function (Publicar função). Você deve publicar a função antes de associá-la à sua distribuição do CloudFront.
-
Em seguida, é possível associar a função a uma distribuição ou comportamento de cache. Na página
MyFunctionName
, selecione a guia Publish (Publicar).Atenção
Nas etapas a seguir, selecione uma distribuição ou um comportamento de cache que seja usado para testes. Não associe essa função de demonstração a um comportamento de distribuição ou cache usado na produção.
-
Escolha Add association.
-
Na caixa de diálogo Associate (Associar), escolha uma distribuição e/ou um comportamento de cache. Em Event type (Tipo de evento), mantenha o valor padrão.
-
Escolha Add association.
A tabela Distribuições associadas mostra a distribuição associada.
-
Aguarde alguns minutos para que a distribuição associada termine a implantação. Para conferir o status da distribuição, selecione a distribuição na tabela Associated distributions (Distribuições associadas) e escolha View distribution (Visualizar distribuição).
Quando o status da distribuição for Deployed (Implantado), você estará pronto para verificar se a função funciona.
Verificar a função
Depois de implantar a função, você pode verificar se ela está funcionando para a distribuição.
Como verificar a função
-
No navegador da Web, acesse o nome de domínio da distribuição (por exemplo,
https://d111111abcdef8.cloudfront.net
).A função retorna um redirecionamento para o navegador, de modo que o navegador vai automaticamente para
https://aws.amazon.com/cloudfront/
. -
Em uma janela de linha de comando, é possível usar uma ferramenta, como curl, para enviar uma solicitação ao nome de domínio da distribuição.
curl -v https://d111111abcdef8.cloudfront.net/
Na resposta, você verá a resposta de redirecionamento (
302 Found
) e os cabeçalhos de resposta personalizados que a função adicionou. O resultado deve ser semelhante ao seguinte.curl -v https://d111111abcdef8.cloudfront.net/ > GET / HTTP/1.1 > Host: d111111abcdef8.cloudfront.net > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 302 Found < Server: CloudFront < Date: Tue, 16 Mar 2021 18:50:48 GMT < Content-Length: 0 < Connection: keep-alive < Location: https://aws.amazon.com/cloudfront/ < Cloudfront-Functions: generated-by-CloudFront-Functions < X-Cache: FunctionGeneratedResponse from cloudfront < Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront) < X-Amz-Cf-Pop: PHX50-C2 < X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==