Java を使用して AWS Batch ジョブを実行する方法を教えてください。
最終更新日: 2020 年 10 月 30 日
Java を使用して AWS Batch ジョブを実行したいです。
解決方法
環境を準備する
1. Java をインストールするには、Oracle ウェブサイトの [download instructions] (ダウンロード手順) 通りに進めてください。
2. Eclipse をインストールするには、Eclipse Foundation ウェブサイトの [download instructions] (ダウンロード手順) 通りに進めてください。
3. (必須) AWS Batch コンピューティング環境、ジョブ定義、およびジョブキューを作成します。
4. ジョブキューが有効なコンピューティング環境に割り当てられていることを確認するには、次のコマンドを実行します。
$ aws batch describe-compute-environments --compute-environments your-compute-env-name
重要: 有効なコンピューティング環境に AWS Batch ジョブキューを割り当てる必要があります。
5. コンピューティング環境のステータスが有効であることを確認してください。
コンピューティング環境が無効な場合は、次の手順に進む前に、無効なコンピューティング環境を修正してください。
注: Java コードを使用して、AWS Batch コンピューティング環境、ジョブ定義、およびジョブキューを作成できます。詳細については、AWS SDK for Java API リファレンスのサンプルコードを参照してください。Java コードを使用してコンピューティング環境、ジョブ定義、およびジョブキューを作成する場合は、Convert a Java project to a Maven project セクションの手順を完了してから実行する必要があります。
AWS Toolkit for Eclipse をインストールします
1. Eclipse IDE を開きます。
2. Eclipse IDE のメニューバーから、[Help] (ヘルプ) を選択します。
3. [Help] (ヘルプ) で [Eclipse Marketplace] を選択します。
4. [Eclipse Marketplace] で、[Search] (検索) タブを選択します。
5. [Find] (検索) 検索ボックスに「AWS」と入力します。
6. 検索結果から、AWS Toolkit for Eclipse の [Install] (インストール) を選択します。
7. Eclipse メニューバーから [Navigate] (移動) を選択します。
8. [Preferences] (環境設定)、[Add Access Key ID] (アクセスキー ID の追加)、[Secret Access key] (シークレットアクセスキー) の順に選択します。
新しい Java プロジェクトを作成する
1. Eclipse IDE のメニューバーから、[File] (ファイル) を選択します。
2. [New] (新規)、[Project] (プロジェクト) の順に選択します。
Java プロジェクトを Maven プロジェクトに変換する
1. Eclipse IDE で、作成した Java プロジェクトを右クリックします。
2. [Configure] (設定) を選択し、[Convert to Maven Project] (Maven プロジェクトに変換) を選択します。
注: プロジェクトが Maven に変換されると、POM.xml ファイルが作成されます。Maven は、Java プロジェクトに使用されるビルド自動化ツールです。プロジェクトオブジェクトモデル (POM) は、プロジェクトを構築するために Maven が使用するプロジェクトと構成の詳細に関する情報を含む XML ファイルです。
3. POM.xml ファイルで、ビルド終了タグの後に次のコードを追加します。
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-batch -->
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-batch</artifactId>
<version>1.11.470</version>
</dependency>
</dependencies>
重要: 上記の手順 3 のコードは、ビルド終了タグの後に POM.xml ファイルにコードを含める場合にのみ機能します。
AWS Batch ジョブを送信するための Java プログラムを作成する
1. Eclipse IDE で、作成したプロジェクトを選択します。
2. プロジェクト内で、src フォルダを右クリックし、[New] (新規) を選択し、[File] (ファイル) を選択します。
3. ファイルに BatchClient.java という名前を付けます。
注: .java 拡張子の名前は、Java プログラムのパブリッククラス名と一致する必要があります。
4. BatchClient.java ファイルで、次のコードを入力します。
public class BatchClient {
public static void main(String[] args) {
AWSBatch client = AWSBatchClientBuilder.standard().withRegion("us-east-1").build();
SubmitJobRequest request = new SubmitJobRequest().withJobName("example").withJobQueue("new-queue").withJobDefinition("sleep30:4");
SubmitJobResult response = client.submitJob(request);
System.out.println(response);
}
}
重要: 前述のコードで、キュー名 (new-queue)、AWS リージョン (us-east-1)、およびジョブ定義 (sleep30:4) を AWS Batch 環境の正しい値に置き換えます。
注: 「SubmitJobResult を解決できません」というエラーが表示された場合は、SubmitJobResult API アクションに必要なパッケージをインポートする必要があります。Eclipse IDE でパッケージをインポートするには、Java コード BatchClient.java で [SubmitJobResult] を選択し、[Choose] (選択)、[Source] (ソース)、[Add import] (インポートの追加) を右クリックします。
5. AWS Batch ジョブを送信して Java プログラムを実行するには、[Run] (実行) メニューから [Run] (実行) を選択します。</p