AWS Lambda
Guia do desenvolvedor

Tutorial: Uso do AWS Lambda com eventos programados

Neste tutorial, você faz o seguinte:

  • Crie uma função do Lambda usando o esquema lambda-canary. Você configura a função Lambda para execução a cada minuto. Observe que, se a função retornar um erro, o AWS Lambda registrará as métricas de erro no CloudWatch.

  • Configure um alarme do CloudWatch na métrica Errors da sua função do Lambda para postar uma mensagem no seu tópico do Amazon SNS quando o AWS Lambda emitir métricas de erro para o CloudWatch. Você se inscreve nos tópicos do Amazon SNS para receber notificação por e-mail. Neste tutorial, você faz o seguinte para configurar isso:

    • Criar um tópico do Amazon SNS.

    • Registre-se no tópico de forma que possa receber notificações por e-mail quando uma nova mensagem for publicada no tópico.

    • No Amazon CloudWatch, defina um alarme sobre a métrica Errors da sua função do Lambda para publicar uma mensagem no tópico do SNS quando ocorrerem erros.

Pré-requisitos

Este tutorial pressupõe que você tenha algum conhecimento das operações básicas do Lambda e do console do Lambda. Caso ainda não tenha feito isso, siga as instruções em Conceitos básicos do AWS Lambda para criar sua primeira função do Lambda.

Crie uma função Lambda

  1. Faça login no Console de gerenciamento da AWS e abra o console AWS Lambda em https://console.aws.amazon.com/lambda/.

  2. Escolha Create function.

  3. Escolha Blueprints (Esquemas).

  4. Insira canary na barra de pesquisa. Escolha o esquema lambda-canary e depois escolha Configure (Configurar).

  5. Configure as definições a seguir.

    • Name (Nome)lambda-canary.

    • Role (Função)Crie uma função a partir de um ou mais modelos.

    • Nome da funçãolambda-apigateway-role.

    • Policy templates (Modelos de política)Permissões de microsserviço simples.

    • Rule (Regra)Crie uma nova regra.

    • Rule name (Nome da regra)CheckWebsiteScheduledEvent.

    • Rule description (Descrição da regra)CheckWebsiteScheduledEvent trigger.

    • Schedule expression (Expressão de programação)rate(1 minute).

    • Enabled (Habilitado) – Verdadeiro (marcado).

    • Variáveis de ambiente

      • site (local)https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

      • expected (esperado)What Is AWS Lambda?

  6. Escolha Create function.

O Eventos do CloudWatch emite um evento a cada minuto, com base na expressão de programação. O evento aciona a função do Lambda, que verifica se a string esperada aparece na página especificada. Para obter mais informações sobre cronogramas de expressões, consulte Programe expressões usando Rate ou Cron.

Testar a função do Lambda

Teste a função com um evento de exemplo fornecido pelo console do Lambda.

  1. Abra a página Functions (Funções) do console do Lambda.

  2. Escolha lambda-canary.

  3. Ao lado do botão Test (Teste) na parte superior da página, escolha Configure test events (Configurar eventos de teste) no menu suspenso.

  4. Crie um evento usando o modelo de evento do Eventos do CloudWatch.

  5. Escolha Criar.

  6. Escolha Test.

A saída da execução da função é mostrada na parte superior da página.

Criar um tópico do Amazon SNS e inscrever-se nele

Crie um tópico do Amazon Simple Notification Service para receber notificações quando a função canary retornar um erro.

Para criar um tópico

  1. Abra o console do Amazon SNS.

  2. Escolha Create topic.

  3. Crie um tópico com as configurações a seguir.

    • Name (Nome)lambda-canary-notifications.

    • Display name (Nome de exibição)Canary.

  4. Selecione Create subscription.

  5. Crie uma inscrição com as configurações a seguir.

    • Protocol (Protocolo)Email.

    • Endpoint – Seu endereço de e-mail.

O Amazon SNS envia um e-mail de Canary <no-reply@sns.amazonaws.com>, refletindo o nome do tópico que é fácil de lembrar. Use o link no e-mail para confirmar seu endereço.

Configurar um alarme

Configure um alarme no Amazon CloudWatch que monitore a função do Lambda e envie uma notificação em caso de falha.

Para criar um alarme

  1. Abra o console do CloudWatch.

  2. Escolha Alarms.

  3. Escolha Create alarm (Criar alarme).

  4. Escolha Alarms.

  5. Crie um alarme com as configurações a seguir.

    • Metrics (Métricas)lambda-canary Errors.

      Procure lambda canary errors para encontrar a métrica.

    • Statistic (Estatística) – Sum.

      Escolha a estatística na lista suspensa acima do gráfico de visualização.

    • Name (Nome)lambda-canary-alarm.

    • Description (Descrição)Lambda canary alarm.

    • Threshold (Limite) – Whenever Errors is >= (Sempre que o erro for >=)1.

    • Send notification to (Enviar notificação para)lambda-canary-notifications

Teste o alarme.

Atualize a configuração da função para fazer com que a função retorne um erro, acionando o alarme.

Como acionar um alarme

  1. Abra a página Functions (Funções) do console do Lambda.

  2. Escolha lambda-canary.

  3. Em Environment variables (Variáveis de ambiente), defina expected (esperado) como 404.

  4. Escolha Salvar

Espere um minuto e verifique se há uma mensagem do Amazon SNS em seu e-mail