

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EventBridge イベントパターンの作成
<a name="eb-event-patterns"></a>

特定のイベントバスまたはパイプに配信されるすべてのイベントを処理する必要がない場合があります。むしろ、イベントのソース、イベントタイプ、および/またはそれらのイベントの属性に基づいて、配信されるすべてのイベントのサブセットを選択することをお勧めします。

ターゲットに送信するイベントを指定するには、*イベントパターン*を作成します。イベントパターンは、ターゲットにイベントを送信するかどうかを決定するために が EventBridge 使用するデータを定義します。イベントパターンがイベントと一致する場合、 はイベントをターゲット EventBridge に送信します。イベントパターンは、一致するイベントと同じ構造をしています。イベントパターンは、イベントに一致するか、一致しないかのいずれかになります。

**ヒント**  
EventBridge サンドボックスを使用して、ルールを作成または更新する前に、サンプルイベントに対してイベントパターンをテストできます。詳細については、「[EventBridge サンドボックスを使用したイベントパターンのテスト](eb-event-pattern-sandbox.md)」を参照してください。

例えば、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 つの要件を指定することでこれを行います。

1. イベントソースは Amazon EC2 であること。

1. イベントは Amazon EC2 状態変更通知であること。

1. 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 を変更するとルールが再び開始され、無限ループが作成されます。  
このような予期しない結果を最小限に抑えるための正確なルールやイベントパターンを記述する方法に関するガイダンスについては、「[ルールのベストプラクティス](eb-rules-best-practices.md)」および「[ベストプラクティス](eb-patterns-best-practices.md)」を参照してください。

## イベントバスのイベントパターン
<a name="eb-event-patterns-buses"></a>

イベントバスでは、バス用に作成する各ルールにイベントパターンを指定できます。これにより、特定のターゲットに送信するイベントを選択できます。イベントバスのイベントパターンは、イベントソース、イベントメタデータ、および/またはイベント詳細値と照合できます。

![\[イベントは、各バスルールのイベントパターンと比較され、一致するとターゲットに送信されます。\]](http://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/images/event-pattern-bus_eventbridge_architecture.svg)


 次のビデオでは、イベントバスのイベントパターンの基本について説明します。




## EventBridge Pipes のイベントパターン
<a name="eb-event-patterns-pipes"></a>

 EventBridge Pipes では、イベントパターンを指定して、パイプターゲットに配信するパイプソースからのイベントをフィルタリングできます。各パイプには 1 つのイベントソースがあるため、パイプのイベントパターンはイベントメタデータや詳細値と照合できます。

![\[イベントはパイプのイベントパターンと比較され、一致するとターゲットに送信されます。\]](http://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/images/event-pattern-pipes_eventbridge_architecture.svg)


すべてのイベントフィールドを使用してパイプイベントパターンを構築できるわけではありません。詳細については、「[フィルタリング](eb-pipes-event-filtering.md)」を参照してください。