Java を使用して AWS Batch ジョブを実行したいと考えています。これを設定するにはどうすればよいですか?
解決方法
注: AWS Command Line Interface (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください。
環境を準備する
1. Java をインストールするには、Oracle ウェブサイトのダウンロード手順に従って進めてください。
2. Eclipse をインストールするには、Eclipse Foundation ウェブサイトのダウンロード手順に従って進めてください。
3. AWS Batch コンピューティング環境、ジョブ定義、およびジョブキューを作成します。
4. 次の describe-compute-environments AWS CLI コマンドを実行して、ジョブキューが有効なコンピューティング環境に割り当てられていることを確認します。
重要: your-compute-env-name を、ご自身のコンピューティング環境の名前で置き換えます。
$ aws batch describe-compute-environments --compute-environments your-compute-env-name
5. コマンド出力の**「status」値が「VALID」**であることを確認します。コンピューティング環境が有効でない場合は、続行する前にコンピューティング環境を有効にしてください。
注: Java コードを使用して、AWS Batch コンピューティング環境、ジョブ定義、およびジョブキューを作成できます。ただし、リソースを作成する前に Java プロジェクトを Maven プロジェクトに変換する セクションの手順を完了する必要があります。詳細については、AWS SDK for Java API リファレンスのサンプルコードを参照してください。
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 ファイルを作成します。このファイルには、プロジェクトに関する情報と、プロジェクトのビルドに使用された設定の詳細が含まれます。
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 フォルダを右クリックします。
3. [New] (新規) をクリックします。次に、[File] (ファイル) を選択します。
4. 新しいファイルに BatchClient.java という名前を付けます。
重要: .java 拡張子の名前は、Java プログラムのパブリッククラス名と一致する必要があります。
5. 次のコードをファイルに入力して、AWS Batch 環境の詳細を BatchClient.java ファイルに追加します。
重要: new-queue をご使用のキュー名で置き換えてください。us-east-1 をご使用の環境が存在する AWS リージョンで置き換えます。sleep30:4 をご使用のジョブ定義で置き換えます。
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);
}
}
6. AWS Batch ジョブを送信して Java プログラムを実行する場合は、[Run] (実行) メニューから [Run] (実行) を選択します。
注:「SubmitJobResult can not be resolved (SubmitJobResult を解決できません)」というエラーが表示された場合は、SubmitJobResult API アクションに必要なパッケージをインポートする必要があります。Eclipse IDE にパッケージをインポートするには、次の操作を行います。
Java コード BatchClient.java で、[submitJobResult] を選択します。
[Choose] (選択) を右クリックします。
[Source] (ソース) を選択します。
[Add import] (インポートの追加) を選択します。