チュートリアル: 入力トランスフォーマーを使用して でイベントを変換する EventBridge - Amazon EventBridge

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

チュートリアル: 入力トランスフォーマーを使用して でイベントを変換する EventBridge

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

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

注記

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

このチュートリアルでは、detail-type: "customerCreated" のイベントに一致するルールを作成します。入力トランスフォーマーは、変数をイベントからの type $.detail-type JSONパスにマッピングします。次に EventBridge 、 変数を入力テンプレートに配置します「このイベントは <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. ナビゲーションペインで、[トピック] を選択します。

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

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

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

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

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

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

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

  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. ナビゲーションペインで ルール] を選択します。

  3. ルールの作成 を選択します。

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

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

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

  7. 次へ を選択します。

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

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

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

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

  12. 「ターゲットを選択」で、ドロップダウンリストから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. [次へ] をクリックします。

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

  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. [送信] を選択します。

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

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

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

このチュートリアル用に作成したリソースは、保持しない場合は削除できます。使用しなくなった AWS リソースを削除することで、 AWS アカウントへの不要な課金を防ぐことができます。

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

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

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

  4. delete me と入力します。

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

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

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

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

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

EventBridge ルールを削除するには (複数可)
  1. EventBridge コンソールのルールページを開きます。

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

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

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