Uso de AWS Lambda Amazon CloudWatch Events - AWS Lambda

Uso de AWS Lambda Amazon CloudWatch Events

Eventos de Amazon CloudWatch le ayuda a responder a los cambios de estado de los recursos de AWS. Cuando cambia el estado de los recursos, estos envían automáticamente eventos a un flujo de eventos. Puede crear reglas que coincidan con los eventos seleccionados en el flujo y los transfieran a una función de AWS Lambda para realizar alguna acción. Por ejemplo, puede invocar automáticamente una función AWS Lambda para registrar el estado de una instancia EC2 o un grupo de AutoScaling.

CloudWatch Events invoca su función de forma asíncrona con un documento de evento que envuelve el evento desde su fuente. En el siguiente ejemplo se muestra un evento que se originó a partir de una instantánea de base de datos de Amazon Relational Database Service.

ejemplo Evento de CloudWatch Events

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

También puede crear una función de Lambda y dirigir AWS Lambda para invocarla de manera periódica. Puede especificar una frecuencia fija (por ejemplo, invocar una función de Lambda cada hora o cada 15 minutos), o puede especificar una expresión Cron.

ejemplo Evento de mensaje de CloudWatch Events

{ "version": "0", "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-2:123456789012:rule/my-schedule" ] }

Para configurar CloudWatch Events para invocar su función

  1. Abra la página de Functions (Funciones) en la consola de Lambda.

  2. Elija una función.

  3. En Function overview (Descripción general de la función), elija Add trigger (Agregar disparador).

  4. Establezca el tipo de desencadenador en EventBridge (CloudWatch Events).

  5. En Rule (Regla), elija Create a new rule (Crear una nueva regla).

  6. Configure las opciones restantes y elija Añadir.

Para obtener más información sobre las expresiones de programación, consulte Programación de expresiones con rate o cron.

Cada cuenta de AWS puede tener un máximo de 100 fuentes de eventos exclusivos de tipo de origen CloudWatch Events - Schedule. Cada uno de ellos puede ser la fuente de eventos de hasta cinco funciones de Lambda. Es decir, puede tener hasta 500 funciones de Lambda que se ejecuten de forma programada en su cuenta de AWS.