我想使用 Java 运行 AWS Batch 任务。该如何设置?
解决方法
**注意:**如果您在运行 AWS Command Line Interface (AWS CLI) 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI。
准备您的环境
1. 按照 Oracle 网站上的下载说明安装 Java。
2. 按照 Eclipse Foundation 网站上的下载说明安装 Eclipse。
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 项目部分中的步骤。有关更多信息,请参阅适用于 Java 的 AWS SDK API 参考中的示例代码。
安装 AWS Toolkit for Eclipse
1. 打开 Eclipse 集成开发环境 (IDE)。
2. 从 Eclipse IDE 菜单栏中,选择 Help(帮助)。
3. 在 Help(帮助)中,选择 Eclipse Marketplace。
4. 在 Eclipse Marketplace 中,选择搜索选项卡。
5. 在查找搜索框中,输入 AWS。
6. 从搜索结果中,为 AWS Toolkit for Eclipse 选择 Install(安装)。
7. 从 Eclipse 菜单栏中,选择导航。
8. 选择 Preferences(首选项)。然后,选择 Add Access Key ID(添加访问密钥 ID)和 Secret Access key(秘密访问密钥)。
创建一个新的 Java 项目
1. 从 Eclipse IDE 菜单栏中,选择文件。
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 文件中的结束构建标签后才有效。
创建 Java 程序以提交 AWS Batch 任务
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(添加导入)。