Header Ads

Como agendar funções do AWS Lambda com eventos do CloudWatch

Se você deseja executar o código regularmente, como uma tarefa cron, pode usar o CloudWatch Events da AWS para executar automaticamente as Funções Lambda sem servidor em intervalos de tempo fixos, sem usar nenhum servidor real. >

O que são os eventos do CloudWatch?

O CloudWatch é um serviço da AWS que monitora e responde a alterações na sua infraestrutura de nuvem. É mais comumente usado para registro e monitoramento, mas geralmente atua como a cola que mantém muitas aplicações juntas.

Um desses recursos é o CloudWatch Events, um serviço que basicamente mapeia a causa. Há várias ações diferentes que podem disparar eventos, como interrupção de instância local para EC2, operações de bucket e nível de objeto para S3 etc. Então, pode desencadear outras ações, como executar uma função lambda, publicar na fila do SNS ou muitas outras ações.

O truque, neste caso, é que o evento não precisa ser desencadeado por algo. Há outra opção para executar eventos periodicamente, por um intervalo de tempo fixo, como a cada cinco minutos, ou usando a sintaxe cron para definir um período específico. Você pode vincular esse evento automático à função Lambda para executá-lo automaticamente.

Configurando uma função recorrente

Você, é claro, precisará de uma função que deseja executar. Você pode criá-los no Lambda Management Console. Se você deseja que uma função Hello World seja testada com o CloudWatch Events, será necessário registrar o evento para ter um registro de alguma saída.

 'use strict'; export. handler = (evento, contexto, retorno de chamada) = > {console. log ('LogScheduledEvent'); console. log ('Evento recebido:', JSON. stringify (evento, nulo, 2)); retorno de chamada (nulo, 'Finalizado'); };[/PRÉ]

Configure a função e teste-a com as ferramentas incorporadas, e visualize os logs e invocações recentes sob o "Monitoramento" ” guia.

Vá para o CloudWatch Management Console para criar uma nova regra, em Events > Regras na barra lateral.

Para a Fonte de Eventos, mude-a de "Padrão de Eventos" ” para a "Agenda" ” para configurar eventos automáticos. Você pode usar a taxa fixa ou a sintaxe cron para especificar um horário mais preciso. Você pode ler nosso guia para cron ou usar esta ferramenta on-line para ajudá-lo com a sintaxe, mas o formato geral é:

 minuto hora dia mês dia da semana 

Para o destino, adicione um novo destino e escolha "Função Lambda". ” Selecione o nome da função que você deseja executar.

Clique em "Configurar detalhes", ” dê um nome e crie a regra. Sua função Lambda deve começar a ser executada e você pode visualizar os logs na guia de monitoramento do Lambda ou nos logs do CloudWatch.

Via: How to Geek

Nenhum comentário