AWS Batch をJavaプログラムから起動

AWS SDK for Java を使う

 <dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-batch</artifactId>
    <version>1.12.295</version>
 </dependency>

AWSBatchClientBuilder AWSBatch クライアントを生成する。
SubmitJobRequest JOBリクエストとして、JOB送信名、JOBキュー、JOB定義名を指定して用意し
AWSBatch クライアントで、このリクエストを投げる
Jobに渡したいパラメータがある場合、SubmitJobRequest で指定する。

String awsRegion = "ap-northeast-1";
String jobName = "JOB送信名";
String queName = "JOBキュー";
// JOB定義名は、JOB定義作成した時の改訂番号を ":" に続けて付与する
String jobDefine = "JOB定義名" + ":" + "1";

// パラメータは、HashMap<String, String> で渡す
Map<String, String> parameters = new HashMap<>();
parameters.put("param1", "パラメータ1");
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 
// SubmitJobResult JOB定義では  ”Ref:\:param1" でコマンド指定している場合

AWSBatch client = AWSBatchClientBuilder.standard().withRegion(awsRegion).build();
SubmitJobRequest request = new SubmitJobRequest().withJobName(jobName)
    .withJobQueue(queName)
    .withParameters(parameters)
    .withJobDefinition(jobDefine);

SubmitJobResult response = client.submitJob(request);

logger.info("response = " + response );
logger.info("response.getJobId() = " + response.getJobId() );
logger.info("response.getJobName() = " + response.getJobName() );

サブミットであり、JOBが完了して SubmitJobResult が返されるわけではない。
実行を受付けただけである。