チュートリアル: EventBridge インプットトランスフォーマーを使用してイベント情報を AWS Batch ターゲットに渡す - AWS Batch

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

チュートリアル: EventBridge インプットトランスフォーマーを使用してイベント情報を AWS Batch ターゲットに渡す

EventBridge インプットトランスフォーマーを使用して、ジョブ送信で AWS Batch にイベント情報を渡すことができます。これは、他の AWS イベント情報の結果としてジョブを呼び出す場合は、特に重要です。例えば、Amazon S3 バケットへのオブジェクトのアップロード時など。または、コンテナのコマンドで、パラメータの置換値を使用したジョブ定義を使用できます。EventBridge インプットトランスフォーマーは、イベントデータに基づいてパラメータ値を提供できます。

つまり、開始するイベントからの情報を解析し、parameters オブジェクトに変換する AWS Batch イベントターゲットを作成できます。ジョブが実行されると、トリガーイベントからのパラメータがジョブコンテナのコマンドに渡されます。

注記

このシナリオでは、すべての AWS リソース (Amazon S3 バケット、EventBridge ルール、CloudTrail ログなど) が同じリージョンに存在する必要があります。

インプットトランスフォーマーを使用して AWS Batch ターゲットを作成するには
  1. Amazon EventBridge コンソール (https://console.aws.amazon.com/events/) を開きます。

  2. ナビゲーションバーから、使用する AWS リージョン を選択します。

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

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

  5. 名前 で、コンピューティング環境の一意な名前を指定します。名前は最大 64 文字まで入力できます。大文字、小文字、数字、ハイフン(-)、アンダースコア(_) を含めることができます。

    注記

    ルールには、同じ AWS リージョン 内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

  6. (オプション) 説明 に、ルールの説明を入力します。

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

  8. (オプション) すぐに実行しないバスのルールについては、そのルールをオフにします。

  9. ルールタイプ では、スケジュール] を選択します。

  10. 続行してルールを作成する または 次へ を選択します。

  11. スケジュールパターン] では、次のいずれかを実行します。

    • 毎月第一月曜日の太平洋標準日午前 8:00 など、特定の時間に実行される詳細なスケジュールを選択してから、cron 式を入力します。詳細については、Amazon EventBridge ユーザーガイドのCron 式を参照してください。

    • 一定の間隔 (10 分ごとなど) で実行するスケジュールを選択してから、rate 式を入力します。

  12. 次へ を選択します。

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

  14. ターゲットの選択 で、バッチジョブのキュー を選択します。次を設定します。

    • ジョブキュー]: ジョブをスケジュールするジョブキューの Amazon リソースネーム (ARN) を入力します。

    • ジョブ定義]: ジョブに使用するジョブ定義の名前、改正、または完全な ARN を入力します。

    • ジョブ名]: ジョブの名前を入力します。

    • 配列サイズ]: (オプション) 複数のコピーを実行するためのジョブの配列サイズを入力します。詳細については、配列ジョブを参照してください。

    • ジョブの試行]: (オプション) ジョブが失敗したときに再試行する回数を入力します。詳細については、ジョブの再試行の自動化を参照してください。

  15. バッチジョブキュー] ターゲットタイプで、EventBridge はターゲットにイベントを送信するためのアクセス許可が必要です。EventBridge は、ルールの実行に必要な IAM ロールを作成できます。次のいずれかを行います。

    • 自動的に IAM ロールを作成するには、この特定のリソースに対して新しいロールを作成する を選択します。

    • 以前に作成した IAM ロールを使用するには、既存のロールの使用 を選択します。

  16. (オプション)追加設定 を展開します。

  17. 追加設定 セクションの ターゲット入力の設定]入力トランスフォーマー] を選択します。

  18. 入力トランスフォーマーの設定 を選択します。

  19. (オプション) サンプルイベント では:

    1. サンプルイベントタイプ では、AWSイベント を選択します。

    2. サンプルイベントでは、 バッチジョブの状態変更 を選択します。

  20. ターゲット入力トランスフォーマー入力パス で、トリガーするイベントから解析する値を指定します。例えば、バッチジョブの状態変更 イベントを解析するには、次の JSON 形式を使用します。

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. テンプレート] では、以下を入力します。

    { "instance": <jobId> , "status": <status> }
  22. 確認] を選択します。

  23. イベントの最大保存期間 では、未処理のイベントを保存する時間間隔を指定します。

  24. 再試行 では、イベントを再試行する回数を入力します。

  25. デッドレターキュー では、未処理イベントの取扱いに関するオプションを選択します。必要に応じて、デッドレターキューに Amazon SQS キューを指定します。

  26. (オプション) 別のターゲットを追加 を選択して、別のターゲットを追加します。

  27. 次へ を選択します。

  28. (オプション) タグ新しいタグを追加 を選択し、リソースラベルを追加します。詳細については、Amazon EventBridge ユーザーガイドのAmazon EventBridge のタグを参照してください。

  29. 次へ を選択します。

  30. レビューと作成では、設定手順を確認してください。変更する必要がある場合は、編集] を選択します。完了したら、ルールの作成 を選択します。