

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

# チュートリアル: 入力トランスフォーマーを使用して EventBridge のイベントを変換する
<a name="eb-input-transformer-tutorial"></a>

EventBridge の [Input Transformer](eb-transform-target-input.md) を使用すると、[ルール](eb-rules.md)のターゲットに送信する前に、[イベント](eb-events.md)からのテキストをカスタマイズすることができます。

そのためには、イベントからの JSON パスを定義し、その出力をさまざまな変数に割り当てます。その後、こうした変数は、入力テンプレートで使用できるようになります。文字 < および > はエスケープできません。詳細については、「[Amazon EventBridge 入力変換](eb-transform-target-input.md)‬」を参照してください。

**注記**  
指定した変数と一致する JSON パスがイベントに存在しない場合、その変数は作成されず、出力にも表示されません。

このチュートリアルでは、`detail-type: "customerCreated"` のイベントに一致するルールを作成します。インプットトランフォーマーは、`type` 変数をこのイベントからの \$1.detail-type の JSON パスにマッピングします。次に、EventBridge は変数を「This event was <type>.」入力テンプレートに入力します。この結果は、次の Amazon SNS メッセージのようになります。

```
"This event was of customerCreated type."
```

**Topics**
+ [ステップ 1: Amazon SNS トピックを作成する](#eb-input-transformer-tutorial-create-topic)
+ [ステップ 2: Amazon SNS サブスクリプションを作成する](#eb-input-transformer-tutorial-create-sns)
+ [ステップ 3: ルールを作成する](#eb-input-transformer-create-rule)
+ [ステップ 4: テストイベントの送信](#eb-input-transformer-send-test-events)
+ [ステップ 5: 成功を確認する](#success)
+ [ステップ 6: リソースをクリーンアップする](#cleanup)

## ステップ 1: Amazon SNS トピックを作成する
<a name="eb-input-transformer-tutorial-create-topic"></a>

EventBridge からイベントを受信するトピックを作成します。

**トピックを作成する**

1. Amazon SNS コンソール（[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)）を開きます。

1. ナビゲーションペインで、**[トピック]** を選択してください。

1. **[トピックの作成]** を選択してください。

1. [**Type (タイプ)**] で、[**Standard (標準)**] を選択してください。

1. テーブルの名前として **eventbridge-IT-test** を入力します。

1. **[トピックの作成]** を選択してください。

## ステップ 2: Amazon SNS サブスクリプションを作成する
<a name="eb-input-transformer-tutorial-create-sns"></a>

サブスクリプションを作成して、変換された情報を含む E メールを送付します。

**サブスクリプションを作成するには**

1. Amazon SNS コンソールの[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)を開いてください。

1. ナビゲーションペインで [**Subscriptions**] を選択してください。

1. [**Create subscription**] を選択してください。

1. [**トピック ARN**] で、ステップ 1 で作成したトピックを選択します。このチュートリアルでは、**eventbridge-IT-test** を選択します。

1. [**Protocol**] で [**Email**] を選択します。

1. [**エンドポイント**] に E メールアドレスを入力します。

1. [**Create subscription**] を選択します。

1. AWS 通知から受信した E メールで、[**サブスクリプションを確認**] を選択してサブスクリプションを確認します。

## ステップ 3: ルールを作成する
<a name="eb-input-transformer-create-rule"></a>

Input Transformer を使用して、ターゲットに送信されるインスタンス状態情報をカスタマイズするルールを作成します。

**ルールを作成するには:**

1. Amazon EventBridge コンソール ([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)) を開きます。

1. ナビゲーションペインで **ルール]** を選択します。

1. **[ルールの作成]** を選択します。

1. ルールの名前と説明を入力します。例えば、ルール `ARTestRule` に名前を付けます

1. **[Event bus]** (イベントバス) では、このルールに関連付けるイベントバスを選択します。このルールをアカウントからのイベントと一致させるには、**[default]** (デフォルト) を選択します。アカウントの AWS サービスがイベントを発行すると、常にアカウントのデフォルトのイベントバスに移動します。

1. **[Rule type]** (ルールタイプ) では、**[Rule with an event pattern]** (イベントパターンを持つルール) を選択します。

1. **次へ** を選択します。

1. **[Event source]** (イベントソース) では、**[Other]** (その他) を選択します。

1. **[Event pattern]** (イベントパターン) では、次のように入力します。

   ```
   {
     "detail-type": [
       "customerCreated"
     ]
   }
   ```

1. [**次へ**] を選択します。

1. **[Target types]** (ターゲットタイプ) では、**AWS[services]** (サービス) を選択します。

1. **ターゲットの選択**では、ドロップダウンリストから **[SNS topic]** (SNS トピック) を選択します。

1. **トピック**では、ステップ 1 で作成した Amazon SNS トピックを選択します。このチュートリアルでは、**eventbridge-IT-test** を選択します。

1. **[Additional settings]** (追加設定) では、以下を実行します。

   1. **ターゲット入力の設定**では、ドロップダウンリストから**[Input transformer]** (インプットトランスフォーマー) を選択します。

   1. **[Configure input transformer]** (インプットトランスフォーマーの設定) を選択します。

   1. **[Sample events]** (イベント例) では、以下を入力します。

      ```
      {
        "detail-type": "customerCreated"
      }
      ```

   1. **[Target input transformer]** (ターゲットインプットトランスフォーマー) では、以下を実行します。

      1. **[Input Path]** (入力パス) では、以下を入力します。

         ```
         {"detail-type":"$.detail-type"}
         ```

      1. **[Input Template]** (入力テンプレート) では、以下を入力します。

         ```
         "This event was of <detail-type> type."
         ```

   1. **[Confirm]** (確認) を選択します。

1. [**次へ**] を選択します。

1. [**次へ**] を選択します。

1. ルールの詳細を確認し、**[Create rule]** (ルールの作成) を選択します。

## ステップ 4: テストイベントの送信
<a name="eb-input-transformer-send-test-events"></a>

SNS トピックとルールを設定したので、ルールが正しく動作していることを確認するためにテストイベントを送信します。

**テストイベントを送信するには (コンソール)**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインの [**Event Buses**] (イベントバス) を選択します。

1. **[Default event bus] (デフォルトのイベントバス)** タイルで、**[Actions] (アクション)**、**[Send events] (イベントの送信)** を選択します。

1. イベントソースを入力します。例えば、`TestEvent`。

1. **[Detail type] (詳細タイプ)** を使用する場合、`customerCreated` と入力します。

1. **[Event detail] (イベントの詳細)** を使用する場合、`{}` と入力します。

1. **[送信]** を選択します。

## ステップ 5: 成功を確認する
<a name="success"></a>

AWS 通知から予想される出力と一致する E メールが届いたら、チュートリアルは正常に終了しています。

## ステップ 6: リソースをクリーンアップする
<a name="cleanup"></a>

このチュートリアル用に作成したリソースは、保存を希望しない限り、すぐに削除できます。使用しなくなった AWS リソースを削除することで、AWS アカウントに請求される料金が発生しないようにできます。

**SNS トピックを削除するには**

1. SNS コンソールの [[トピック](https://console.aws.amazon.com/sns/v3/home#/topics)] ページを開きます。

1. 先ほど作成したトピックを選択します。

1. **[削除]** を選択します。

1. **delete me** と入力します。

1. **[削除]** を選択します。

**SNS サブスクリプションを削除するには**

1. SNS コンソールの [[サブスクリプションページ](https://console.aws.amazon.com/sns/v3/home#/subscriptions)] を開きます。

1. 作成したサブスクリプションを選択します。

1. [**Delete**] (削除) を選択します。

1. [**Delete**] (削除) を選択します。

**EventBridge ルールを削除するには**

1. Eventbridge コンソールの [[Rules](https://console.aws.amazon.com/events/home#/rules)] (ルール) ページを開きます。

1. 作成したルールを選択します。

1. [**Delete**] (削除) を選択します。

1. [**Delete**] (削除) を選択します。