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

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
  1. Faça login no AWS Management Console e abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. No painel de navegação, escolha Funções e selecione Criar função.

  3. Na página Create function (Criar função), em Name (Nome), insira um nome de função, como MyFunctionName.

  4. (Opcional) Em Description (Descrição), insira uma descrição para a função, como Simple test function.

  5. Em Runtime, mantenha a versão padrão selecionada do JavaScript.

  6. Escolha a opção Criar função.

  7. 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; }
  8. Em Function code (Código da função), cole o código no editor para substituir o código padrão.

  9. Escolha Salvar alterações.

  10. (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.

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

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

  13. Escolha Add association.

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

  15. Escolha Add association.

    A tabela Distribuições associadas mostra a distribuição associada.

  16. 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
  1. 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/.

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