在 AWS Lambda Amazon 上使用 EventBridge (CloudWatch 活动) - AWS Lambda

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS Lambda Amazon 上使用 EventBridge (CloudWatch 活动)

注意

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

EventBridge (CloudWatch 事件)可帮助您响应AWS资源的状态变化。有关的更多信息 EventBridge,请参阅 Amazon 是什么 EventBridge? 在《亚马逊 EventBridge 用户指南》中。

当您的资源的状态发生变化时,会自动向事件流发送事件。使用 EventBridge (E CloudWatch vents),您可以创建匹配直播中选定事件的规则,并将它们路由到您的AWS Lambda函数以采取行动。例如,您可以自动调用AWS Lambda函数来记录 EC2 实例AutoScaling 组的状态。

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

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

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

例 EventBridge (CloudWatch 事件)消息事件
{ "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 事件)以调用您的函数
  1. 打开 Lamba 控制台的函数页面

  2. 选择函数

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

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

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

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

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

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