本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EventBridge 事件模式
您可能不會想要處理傳遞至指定事件匯流排或管道的每一個事件。相反地,您可能會想要根據事件的來源、事件類型和/或這些事件的屬性,選取所有已傳送事件的子集。
若要指定要傳送至目標的事件,請建立事件模式。事件模式定義了 EventBridge 用於確定是否將事件發送到目標的數據。如果事件模式與事件相符,則 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"
}
}
以下事件模式選擇所有 Amazon EC2 instance-termination
事件。事件模式通過指定三個要求來匹配一個事件來實現這一點:
事件來源必須是 Amazon EC2。
該事件必須是 Amazon 狀EC2態變更通知。
Amazon EC2 執行個體的狀態必須是
terminated
。
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["terminated"]
}
}
請注意,在此範例中,事件模式包含有關事件--source
和---的欄位,以detail-type
及來自事件主體--的欄位。state
重要
事件巴士的事件模式
對於事件匯流排,您可以為匯流排建立的每個規則指定事件模式。如此一來,您就可以選取要傳送至特定目標的事件。事件匯流排的事件模式可以與事件來源、事件中繼資料和/或事件詳細資訊值進行比對。
下列影片討論事件匯流排事件模式的基本概念:
EventBridge 管道的事件模式
對於 EventBridge 管道,您可以指定事件模式,以篩選要傳送至管道目標的管道來源中的事件。由於每個管道都有單一事件來源,因此管道的事件模式可以與事件中繼資料和/或詳細資料值相符。
並非所有事件欄位都可以用來建構管道事件模式。如需詳細資訊,請參閱篩選。