AWS Lambda
Guia do desenvolvedor

Uso do AWS Lambda com o Eventos do Amazon CloudWatch

O tópico Eventos do Amazon CloudWatch ajuda você a responder a alterações de estado em seus recursos da AWS. Quando seus recursos mudam de estado, enviam eventos automaticamente em um fluxo de evento. Você pode criar regras que correspondam a eventos selecionados no fluxo e roteá-los para sua função de AWS Lambda para execução de uma ação. Por exemplo, você pode invocar uma função do AWS Lambda automaticamente para registrar em log o estado de uma Instância do EC2 ou do Grupo de AutoScaling.

Você mantém o mapeamento da fonte do evento no Amazon CloudWatch Events usando uma definição de destino de regra. Para obter mais informações, consulte a operação PutTargets no Referência da API do Eventos do Amazon CloudWatch.

Você também pode criar uma função do Lambda e direcionar o AWS Lambda para executá-la em uma programação regular. Você pode especificar uma taxa fixa (por exemplo, executar uma função Lambda a cada hora ou a cada 15 minutos) ou especificar uma expressão Cron. Para obter mais informações sobre cronogramas de expressões, consulte Programe expressões usando Rate ou Cron.

exemplo Evento de mensagem do Eventos do CloudWatch

{ "account": "123456789012", "region": "us-east-2", "detail": {}, "detail-type": "Scheduled Event", "source": "aws.events", "time": "2019-03-01T01:23:45Z", "id": "cdc73f9d-aea9-11e3-9d5a-835b769c0d9c", "resources": [ "arn:aws:events:us-east-1:123456789012:rule/my-schedule" ] }

Essa funcionalidade estará disponível quando você criar uma função do Lambda usando o console do AWS Lambda ou a AWS CLI. Para configurá-la usando a AWS CLI, consulte Executar uma função do AWS Lambda em um cronograma usando a CLI da AWS. O console fornece CloudWatch Events como uma fonte do evento. No momento da criação de uma função do Lambda, você escolhe essa fonte do evento e especifica um intervalo de tempo.

Se você tiver feito alterações manuais nas permissões da sua função, pode ser necessário reaplicar o acesso ao evento programado à sua função. Faça isso usando o comando a seguir da CLI.

$ aws lambda add-permission --function-name my-function\ --action 'lambda:InvokeFunction' --principal events.amazonaws.com --statement-id events-access \ --source-arn arn:aws:events:*:123456789012:rule/*

Cada conta da AWS pode ter até 100 fontes de evento exclusivas do tipo de fonte Eventos do CloudWatch- Schedule. Cada uma dessas pode ser a fonte do evento para até cinco funções do Lambda. Ou seja, você pode ter até 500 funções do Lambda em execução em um cronograma na sua conta da AWS.

O console também fornece um esquema (lambda-canary) que usa o tipo de fonte Eventos do CloudWatch- Schedule. Usando esse esquema, você pode criar uma função Lambda de amostra e testar esse recurso. O código de exemplo que o esquema fornece verifica a presença de uma página da web específica e de uma string de texto específica na página da web. Se a página da web ou a string de texto não forem encontradas, a função Lambda emitirá um erro.