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?Amazon 用 EventBridge 戶指南

當您的資源變更狀態時,它們會自動將事件傳送到事件串流中。使用 EventBridge (E CloudWatch vents),您可以創建匹配流中選定事件的規則,並將它們路由到您的AWS Lambda函數以採取操作。例如,您可以自動叫用AWS Lambda函數來記錄 EC2 執行個體AutoScaling 群組的狀態。

EventBridge (E CloudWatch vents) 會使用從其來源封裝事件的事件文件,以非同步方式叫用您的函數。下列範例顯示源自 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. 開啟 Lambda 主控台中的 函數頁面

  2. 選擇一個函數。

  3. 函式概觀 下,選擇 新增觸發條件

  4. 將觸發類型設定為 EventBridge (CloudWatch 事件)

  5. 對於 Rule (規則),選擇 Create a new rule (建立新規則)

  6. 設定剩餘的選項,然後選擇 Add (新增)

如需關於表達式排程的詳細資訊,請參閱 使用 Rate 或 Cron 排定表達式

每個AWS帳戶最多可以有 100 個 EventBridge (CloudWatch 事件)-排程來源類型的唯一事件來源。其每一個都可以成為最多五個 Lambda 函數的事件來源。也就是說,您可以擁有多達 500 個可以在您的 AWS 帳戶中排程執行的 Lambda 函數。