Uso de AWS Lambda con Amazon EventBridge (CloudWatch Events) - AWS Lambda

Uso de AWS Lambda con Amazon EventBridge (CloudWatch Events)

nota

Amazon EventBridge es la forma preferida de administrar sus eventos. CloudWatch Events y EventBridge son el mismo servicio subyacente y la misma API, pero EventBridge ofrece más características. Los cambios que realice en CloudWatch Events o EventBridge aparecerán en cada consola. Para obtener más información, consulte la documentación de Amazon EventBridge.

EventBridge (CloudWatch Events) lo ayuda a responder a los cambios de estado en los recursos de AWS. Para obtener más información acerca de EventBridge, consulte ¿Qué es Amazon EventBridge? en la Guía del usuario de Amazon EventBridge.

Cuando cambia el estado de los recursos, estos envían automáticamente eventos a un flujo de eventos. Con EventBridge (CloudWatch Events), puede crear reglas que coincidan con los eventos seleccionados en el flujo y los transfieran a la 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.

EventBridge (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 EventBridge (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 EventBridge (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 EventBridge (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 EventBridge (CloudWatch Events)- Schedule (Programación). 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.