Testar funções
Antes de implantar a função no estágio ativo (produção), é possível testar a função para verificar se ela funciona conforme o esperado. Para testar uma função, especifique um objeto de evento que represente uma solicitação ou uma resposta HTTP que a distribuição do CloudFront pode receber em produção.
O CloudFront Functions faz o seguinte:
-
Executa a função usando o objeto de evento fornecido como entrada.
-
Retorna o resultado da função (o objeto de evento modificado), bem como os logs de função ou as mensagens de erro e a utilização de computação da função. Para obter mais informações sobre as métricas de utilização de computação, consulte Noções básicas de utilização de computação.
Configurar o objeto de evento
Antes de testar uma função, é necessário configurar o objeto de evento com o qual testá-la. Há várias opções.
- Opção 1: configurar um objeto de evento sem salvá-lo
-
É possível configurar um objeto de evento no editor visual no console do CloudFront e não salvá-lo.
É possível usar esse objeto de evento para testar a função no console do CloudFront, mesmo que ele não esteja salvo.
- Opção 2: criar um objeto de evento no editor visual
-
É possível configurar um objeto de evento no editor visual no console do CloudFront e não salvá-lo. É possível criar dez objetos de evento para cada função para poder, por exemplo, testar diferentes entradas possíveis.
Ao criar o objeto de evento dessa forma, é possível usar o objeto de evento para testar a função no console do CloudFront. Não é possível usá-lo para testar a função usando uma API ou um SDK da AWS.
- Opção 3: criar um objeto de evento usando um editor de texto
-
É possível usar um editor de texto para criar um objeto de evento no formato JSON. Para obter informações sobre a estrutura de um objeto de evento, consulte Estrutura de eventos.
É possível usar esse objeto de evento para testar a função usando a CLI. Mas não é possível usá-lo para testar a função no console do CloudFront.
Como criar um objeto de evento (opção 1 ou 2)
-
Faça login no console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home#/functions
e selecione a página Funções. Escolha a função que você deseja testar.
-
Na página de detalhes da função, selecione a guia Testar.
-
Em Tipo de evento, selecione uma das seguintes opções:
-
Selecione Solicitação do visualizador se a função modificar uma solicitação HTTP ou gerar uma resposta com base na solicitação. A seção Solicitação é exibida.
-
Selecione Resposta do visualizador. As seções Solicitação e Resposta são exibidas.
-
-
Preencha todos os campos a serem incluídos no evento. É possível selecionar Editar JSON para visualizar o JSON bruto.
-
(Opcional) Para salvar o evento, escolha Salvar e, em Salvar evento de teste, insira um nome e escolha Salvar.
Também é possível selecionar Editar JSON, copiar o JSON bruto e salvá-lo no próprio arquivo, fora do CloudFront.
Como criar um objeto de evento (opção 3)
Crie o objeto de evento usando um editor de texto. Armazene o arquivo em um diretório ao qual o computador possa se conectar.
Siga estas diretrizes:
-
Omita os campos
distributionDomainName
,distributionId
erequestId
. -
Os nomes de cabeçalhos, os cookies e as strings de consulta devem estar em letras minúsculas.
Uma opção para criar um objeto de evento dessa forma é criar um exemplo usando o editor visual. O exemplo deve estar formatado corretamente. Depois, copie o JSON bruto, cole-o em um editor de texto e salve o arquivo.
Para ter mais informações sobre a estrutura de um evento, consulte Estrutura de eventos.
Testar a função
Você pode testar uma função no console do CloudFront ou com a AWS Command Line Interface (AWS CLI).
Observações
-
FunctionExecutionLogs
contém uma lista de linhas de log que a função escreveu em instruçõesconsole.log()
(se houver). -
ComputeUtilization
contém informações sobre como executar a função. Consulte Noções básicas de utilização de computação. -
O
FunctionOutput
contém o objeto de evento que a função retornou.
Noções básicas de utilização de computação
Compute utilization (Utilização de computação) é a quantidade de tempo que a função levou para ser executada como uma porcentagem do tempo máximo permitido. Por exemplo, um valor de 35 significa que a função foi concluída em 35% do tempo máximo permitido.
Se uma função exceder continuamente o tempo máximo permitido, o CloudFront limitará a função. A lista a seguir explica a probabilidade de uma função ser limitada com base no valor de utilização da computação.
Valor de utilização de computação:
-
De 1 a 50: a função está confortavelmente abaixo do tempo máximo permitido e deve funcionar sem controle de utilização.
-
De 51 a 70: a função está próxima do tempo máximo permitido. É aconselhável otimizar o código da função.
-
De 71 a 100: a função está muito próxima ou excede o tempo máximo permitido. É provável que o CloudFront restrinja essa função se você a associar a uma distribuição.