Tutorial: Como criar uma função simples com o CloudFront Functions - Amazon CloudFront

Tutorial: Como criar uma função simples com o CloudFront Functions

Este tutorial mostra como começar a usar o CloudFront Functions, ajudando você a criar uma função simples que redireciona o visualizador para um URL diferente e também retorna um cabeçalho de resposta personalizado.

Prerequisites

Para usar o CloudFront Functions, você precisa de uma distribuição do CloudFront. Se você não tiver uma, siga os passos em Conceitos básicos de uma distribuição simples do CloudFront.

Como criar a função

Este procedimento mostra como usar o console do CloudFront para criar uma função simples que redireciona o visualizador para um URL diferente e também retorna um cabeçalho de resposta personalizado.

Para criar uma função no console do CloudFront

  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v3/home.

  2. Selecione Functions (Funções) no painel de navegação. Em seguida, selecione Create function (Criar função).

  3. Digite um nome de função e selecione Continue (Continuar).

  4. (Opcional) Para Comment (Comentário), insira uma descrição para a função. Por exemplo, digite Simple test function.

  5. Copie o código de função a seguir e cole-o no editor de código no console, substituindo o código padrão no editor.

    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; }
    
                        Código de exemplo no editor de código do CloudFront Functions.
  6. Selecione Save (Salvar) para criar uma função usando o código de exemplo que você colou. Esse código de função redireciona o visualizador para uma URL diferente e também retorna um cabeçalho de resposta personalizado.

    
                        Guia Build (Criar) de uma página de função no console do CloudFront.

    Quando for bem-sucedido, você verá um banner na parte superior da página que diz Function name saved successfully ([Nome da função] salva com sucesso).

    dica

    Você pode opcionalmente testar a função antes de publicá-la. Este tutorial não descreve como testar uma função, mas para obter mais informações, consulte Funções de teste.

  7. Selecione a guia Publish (Publicar) e, em seguida, selecione o botão Publish (Publicar) para publicar a função. Você deve publicar a função antes de associá-la à sua distribuição do CloudFront.

    
                        Guia Publish (Publicar) de uma página de função no console do CloudFront.

    Quando for bem-sucedido, você verá um banner na parte superior da página que diz Function name published successfully ([Nome da função] publicada com sucesso).

  8. Selecione a guia Associate (Associar) . Então, faça o seguinte:

    Atenção

    Nas etapas a seguir, selecione uma distribuição ou um comportamento de cache destinado a testes. Não associe essa função de demonstração a um comportamento de distribuição ou cache usado na produção.

    1. Para Distribution (Distribuição), selecione uma distribuição à qual associar esta função.

    2. Para Event type (Tipo de evento), deixe a seleção padrão (Viewer Request) (Solicitação do visualizador).

    3. Para Cache behavior (Comportamento de cache), selecione um comportamento de cache para associar esta função.

    4. Escolha Add association. Em seguida, na janela pop-up Associate function to cache behavior (Associar função ao comportamento de cache), selecione Associate (Associar).

    
                        Guia Associate (Associar) de uma página de função no console do CloudFront.

Quando for bem-sucedido, você verá um banner na parte superior da página que diz Function name associated successfully ([Nome da função] associada com sucesso) e a tabela Associated CloudFront distributions (Distribuições associadas do CloudFront) mostrará a distribuição associada. Antes de verificar se sua função está funcionando, aguarde alguns minutos até que a distribuição associada termine a implantação. Para verificar o status da distribuição, selecione a distribuição associada e escolha View distribution (Exibir 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

Para ver sua função em ação e verificar se ela funciona, acesse o nome de domínio da sua distribuição (por exemplo, https://d111111abcdef8.cloudfront.net) em um navegador da Web. A função retorna um redirecionamento para o navegador, de modo que o navegador vai automaticamente para https://aws.amazon.com/cloudfront/.

Se você enviar uma solicitação para o nome de domínio da sua distribuição usando uma ferramenta como curl, verá a resposta de redirecionamento (302 Found) e o cabeçalho de resposta personalizada adicionados pela função, conforme enfatizado no exemplo a seguir.

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==