翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
イベントすべてを選択します。イベントパターンは、イベントに一致する 3 つの要件を指定することでこれを行います。
イベントソースは 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 では、予想よりも高い料金やスロットリングにつながる可能性のあるルールを作成できます。例えば、ルールが無限に再帰的に実行される無限ループに陥るようなルールを誤って作成してしまうことがあります。Amazon S3 バケットで ACL が変更されたことを検出し、ソフトウェアをトリガーして目的の状態に変更するルールを作成したとします。このルールが慎重に記述されていない場合は、その後 ACL を変更するとルールが再び開始され、無限ループが作成されます。
このような予期しない結果を最小限に抑えるための正確なルールやイベントパターンを記述する方法に関するガイダンスについては、「ルールのベストプラクティス」および「ベストプラクティス」を参照してください。
イベントバスのイベントパターン
イベントバスでは、バス用に作成する各ルールにイベントパターンを指定できます。これにより、特定のターゲットに送信するイベントを選択できます。イベントバスのイベントパターンは、イベントソース、イベントメタデータ、および/またはイベント詳細値と照合できます。
次のビデオでは、イベントバスのイベントパターンの基本について説明します。
EventBridge Pipes のイベントパターン
EventBridge Pipes では、イベントパターンを指定して、パイプターゲットに配信するパイプソースからイベントをフィルタリングできます。各パイプには 1 つのイベントソースがあるため、パイプのイベントパターンはイベントメタデータや詳細値と照合できます。
すべてのイベントフィールドを使用してパイプイベントパターンを構築できるわけではありません。詳細については、「フィルタリング」を参照してください。