事件結構參考 - Amazon EventBridge

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

事件結構參考

下列欄位會出現在傳遞至事件匯流排的所有事件中,並包含事件的中繼資料

{ "version": "0", "id": "UUID", "詳細資訊類型": "event name", "source": "event source", "帳戶": "ARN", "time": "timestamp", "region": "region", "resources": [ "ARN" ], "詳細資訊": { JSON object } }
version

根據預設,這在所有事件中皆設定為 0 (零)。

id

為每個事件產生的版本 4 UUID。您可以使用 id 追蹤事件從規則移至目標的過程。

詳細資訊類型

結合 source (來源) 欄位,識別顯示在 detail (詳細資訊) 欄位的欄位和值。

由傳遞的事件 CloudTrail 具有AWS API Call via CloudTrail作為的值detail-type

source

識別產生事件的服務。所有來自 AWS 服務的事件都以“aws”開頭。客戶產生的事件在這裡可以有任何值,只要不以「aws」開頭。我們建議使用 Java 套件-名稱樣式的反向網域名稱字串。

若要尋找 AWS 服務的正確值,請參閱條件索引鍵資料表、從清單中選取服務,然後尋找服務前置詞source例如,Amazon 的source價值 CloudFront 是aws.cloudfront

帳戶

識別 AWS 帳戶的 12 位數字。

time

時間戳記,可由產生該事件的服務指定。如果事件涵蓋時間間隔,該服務會報告開始時間,因此該值可能早於接收到事件的時間。

region

識別事件起源的「 AWS 區域」。

resources

JSON 陣列包含 ARN,它可識別涉及該事件的資源。產生事件的服務會決定是否要包含這些 ARN。例如,Amazon EC2 執行個體狀態變更包含 Amazon EC2 執行個體 ARN,Auto Scaling 事件包含執行個體和 Auto Scaling 群組的 ARN,但 AWS CloudTrail 的 API 呼叫不包含資源 ARN。

詳細資訊

包含事件相關資訊的 JSON 物件。產生事件的服務會決定此欄位的內容。它可以是 "{}"

AWS API 呼叫事件具有詳細資料物件,其中大約有 50 個欄位巢狀多層深。

注意

PutEvents接受 JSON 格式的資料。針對 JSON 數字 (整數) 資料類型,條件約束為:最小值為 -9,223,372,036,854,775,808,最大值為 9,223,372,036,854,775,807。

範例:Amazon EC2 執行個體狀態-變更通知

Amazon 的以下事件 EventBridge 表明亞 Amazon EC2 實例被終止。

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "111122223333", "time": "2017-12-22T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0" ], "detail": { "instance-id": " i-1234567890abcdef0", "state": "terminated" } }

有效自訂事件所需的最低資訊

建立自訂事件時,它們必須包含下列欄位:

  • detail

  • detail-type

  • source

{ "detail-type": "event name", "source": "event source", "detail": { } }