チュートリアル: Eventbridge がイベントターゲットに渡すものを Input Transformer を使用してカスタマイズする - Amazon EventBridge

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

チュートリアル: Eventbridge がイベントターゲットに渡すものを Input Transformer を使用してカスタマイズする

EventBridge の Input Transformer を使用すると、ルールのターゲットに送信する前に、イベントからのテキストをカスタマイズすることができます。

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

注記

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

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

"This event was of customerCreated type."

ステップ 1: Amazon SNS トピックを作成する

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

トピックを作成するには
  1. https://console.aws.amazon.com/sns/v3/home で Amazon SNS コンソールを開きます。

  2. ナビゲーションペインで、[Topics] (トピック) を選択します。

  3. [Create topic] (トピックの作成) を選択します。

  4. [Type] (タイプ) で、[Standard] (標準) を選択します。

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

  6. [Create topic] (トピックの作成) を選択します。

ステップ 2: Amazon SNS サブスクリプションを作成する

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

サブスクリプションを作成するには
  1. Amazon SNS コンソール(https://console.aws.amazon.com/sns/v3/home)を開きます。

  2. ナビゲーションペインで [Subscriptions] (サブスクリプション) を選択します。

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

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

  5. [Protocol] (プロトコル) で [Email] (E メール) を選択します。

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

  7. [Create subscription] (サブスクリプションの作成) を選択します。

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

ステップ 3: ルールを作成する

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

ルールを作成するには:
  1. Amazon EventBridge コンソール (https://console.aws.amazon.com/events/) を開きます。

  2. ナビゲーションペインで [Rules] (ルール) を選択します。

  3. [‬Create rule]‭ (ルールの作成) を選択します。

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

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

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

  7. [Next] (次へ) をクリックします。

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

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

    { "detail-type": [ "customerCreated" ] }
  10. [Next] (次へ) をクリックします。

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

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

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

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

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

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

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

      { "detail-type": "customerCreated" }
    4. [Target input transformer] (ターゲットインプットトランスフォーマー) では、以下を実行します。

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

        {"detail-type":"$.detail-type"}
      2. [Input Template] (入力テンプレート) では、以下を入力します。

        "This event was of <detail-type> type."
    5. [Confirm] (確認) を選択します。

  15. [Next] (次へ) をクリックします。

  16. [Next] (次へ) をクリックします。

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

ステップ 4: テストイベントの送信

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

テストイベントを送信するには (コンソール)
  1. Amazon EventBridge コンソール (https://console.aws.amazon.com/events/) を開きます。

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

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

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

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

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

  7. [Send] (送信) を選択します。

ステップ 5: 成功を確認する

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

ステップ 6: リソースをクリーンアップする

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

SNS トピックを削除するには
  1. SNS コンソールの [トピック] ページを開きます。

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

  3. [Delete] (削除) をクリックします。

  4. delete me と入力します。

  5. [Delete] (削除) をクリックします。

SNS サブスクリプションを削除するには
  1. SNS コンソールの [サブスクリプションページ] を開きます。

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

  3. [Delete] (削除) をクリックします。

  4. [Delete] (削除) をクリックします。

EventBridge ルールを削除するには
  1. Eventbridge コンソールの [Rules] (ルール) ページを開きます。

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

  3. [Delete] (削除) をクリックします。

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