AWS のナレッジを参考にするしかない。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/batch-parameters-trigger-eventbridge/
「準備:Job定義」
Javaで書いた Batch のイメージ作成済でAWS Job定義のジョブ設定を行う。
”Ref”+”::"+{パラメータ参照名}
で、実行するコマンド、java -jar JARファイル名 に、パラメータを追加します。
Job定義で、パラメータを設定する場合は、この Ref:: の記述に合わせて、
のように設定します。
手動でJob生成&送信する時でもこのパラメータ設定&送信できます。
AWS EventBridge でイベント実行のJob送信で、、、
AWS EventBridge のルールで新しくイベントパターンをスケジュールで作成します。
ターゲットを選択で、「バッチジョブのキュー」を選択して対象のJobキュー、Job定義、Job名を指定
ターゲット入力を設定をクリックして
定数(JSONテキスト)で、パラメータとコマンドを入力設定します。
1行の入力フォームなので、長い場合この AWSコンソールページで設定するのは辛いです。
隠れてしまっているので、全部記述すると
{ "Parameters": {"param1":"ABC","param2":"1024" }, "ContainerOverrides": { "Command": ["java","-jar","sample.jar","Ref::param1","Ref::param2"] } }
ということになります。
パラメータの値として、JSON を渡す場合など、値に (")ダブルクォーテーションを含んでしまう場合は、
\ 文字(逆スラッシュ文字)でエスケープしなければなりません。