Uso do AWS Lambda com o Eventos do Amazon CloudWatch - AWS Lambda

Uso do AWS Lambda com o Eventos do Amazon CloudWatch

Eventos do Amazon CloudWatch ajuda a responder às alterações de estado nos 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, é possível 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.

O Eventos do CloudWatch invoca a função de forma assíncrona com um documento de evento que encapsula o evento de sua origem. O exemplo a seguir mostra um evento originado de um snapshot de banco de dados no Amazon Relational Database Service.

exemplo Evento Eventos do CloudWatch

{ "version": "0", "id": "fe8d3c65-xmpl-c5c3-2c87-81584709a377", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "123456789012", "time": "2020-04-28T07:20:20Z", "region": "us-east-2", "resources": [ "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1" ], "detail": { "EventCategories": [ "backup" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1", "Date": "2020-04-28T07:20:20.112Z", "Message": "Finished DB Instance backup", "SourceIdentifier": "rdz6xmpliljlb1" } }

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.

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" ] }

Como configurar o Eventos do CloudWatch para invocar a função

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

  2. Escolha uma função.

  3. Em Designer, escolha Add trigger (Adicionar trigger).

  4. Defina o tipo de trigger como Eventos do CloudWatch/EventBridge.

  5. Em Rule (Regra), selecione Create a new rule (Criar uma regra).

  6. Configure as opções restantes e selecione Add (Adicionar).

Para obter mais informações sobre programações de expressões, consulte Programar expressões usando rate ou cron.

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.