通过 Amazon EventBridge (CloudWatch Events) 使用 Amazon Lambda - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

通过 Amazon EventBridge (CloudWatch Events) 使用 Amazon Lambda

注意

Amazon EventBridge 是管理事件的首选方式。CloudWatch Events 和 EventBridge 是相同的底层服务和 API,但 EventBridge 提供了更多功能。您在 CloudWatch Events 或 EventBridge 中所作的更改将显示在每个控制台中。有关更多信息,请参阅 Amazon EventBridge 文档

EventBridge (CloudWatch Events) 可帮助您响应您 Amazon 资源的状态更改。有关 EventBridge 的更多信息,请参阅 Amazon EventBridge 用户指南中的 Amazon EventBridge 入门

当您的资源的状态发生变化时,会自动向事件流发送事件。借助 EventBridge (CloudWatch Events),您可以创建规则来匹配流中的选定事件并将它们发送到 Amazon Lambda 函数以采取操作。例如,您可以自动调用 Amazon Lambda 函数以记录 EC2 实例AutoScaling 组的状态。

EventBridge (CloudWatch Events) 使用从源代码包装事件的事件文档异步调用函数。以下示例显示了一个源自 Amazon Relational Database Service 中的数据库快照的事件。

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

您还可以创建一个 Lambda 函数并指示 Amazon Lambda 定期调用此函数。您可以指定一个固定速率(例如,每小时或每 15 分钟执行调用 Lambda 函数),也可以指定一个 Cron 表达式。

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

配置 EventBridge (CloudWatch Events) 以调用函数

  1. 打开 Lamba 控制台的 Functions(函数)页面

  2. 选择函数

  3. Function overview (函数概览) 下,选择 Add trigger (添加触发器)

  4. 将触发器类型设置为 EventBridge(CloudWatch Events)

  5. 对于规则,选择创建新规则

  6. 配置其余选项,然后选择 Add (添加)

有关表达式计划的更多信息,请参阅使用 Rate 或 Cron 来计划表达式

每个Amazon账户可以有最多 100 个 EventBridge (CloudWatch Events) - Schedule 源类型的唯一事件源。其中每个事件源可以是最多五种 Lambda 函数的事件源。也就是说,您的Amazon账户最多可以有 500 个能够按计划执行的 Lambda 函数。