如何使用 Java 运行 AWS Batch 作业?

上次更新时间:2020 年 10 月 30 日

我想使用 Java 运行 AWS Batch 作业。

解决方法 准备您的环境

1.要安装 Java,请按照 Oracle 网站上的下载说明进行操作。

2.要安装 Eclipse,请按照 Eclipse Foundation 网站上的下载说明进行操作。

3.(必需)创建 AWS Batch 计算环境、作业定义和作业队列。

4.要验证作业队列是否已分配给有效的计算环境,请运行以下命令:

$ aws batch describe-compute-environments --compute-environments your-compute-env-name

重要提示:必须将 AWS Batch 作业队列分配给有效的计算环境。

5. 验证计算环境的状态是否有效。

如果您的计算环境无效,请先修复无效的计算环境,然后继续执行以下步骤。

注意:可以使用 Java 代码创建 AWS Batch 计算环境、作业定义和任务队列。有关更多信息,请参阅适用于 Java 的 AWS 开发工具包 API 参考中的示例代码。如果使用 Java 代码创建计算环境、作业定义和作业队列,则必须在完成将 Java 项目转换为 Maven 项目部分中的步骤后再执行此操作。

安装 AWS Toolkit for Eclipse

1.打开 Eclipse IDE。

2. 从 Eclipse IDE 菜单栏中,选择帮助

3.在帮助中,选择 Eclipse Marketplace

4.在 Eclipse Marketplace 中,选择搜索选项卡。

5. 在查找搜索框中,输入 AWS

6. 从搜索结果中选择安装 AWS Toolkit for Eclipse。

7. 从 Eclipse 菜单栏中,选择导航

8. 选择首选项添加访问密钥 ID秘密访问密钥

创建一个新的 Java 项目

1. 从 Eclipse IDE 菜单栏中,选择文件

2. 选择新建,然后选择项目

将 Java 项目转换为 Maven 项目

1.在 Eclipse IDE 中,右键单击您创建的 Java 项目。

2. 选择配置,然后选择转换为 Maven 项目

注意:项目转换为 Maven 项目后,其会创建一个 POM.xml 文件。Maven 是用于 Java 项目的自动化构建工具。项目对象模型 (POM) 是一个 XML 文件,其中包含有关 Maven 用于生成项目的项目和配置详情的信息。

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.将文件命名为 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);    
}
}

重要提示:在前面的代码中,将队列名称(新队列)、AWS 区域 (us-east-1) 和作业定义 (sleep30:4) 替换为适合您 AWS Batch 环境的正确值。

注意:如果您收到“无法解决 SubmitJobResult”错误,则必须导入 SubmitJobResult API 操作所需的包。要在 Eclipse IDE 中导入包,请在 Java 代码 BatchClient.java 中选择 SubmitJobResult,然后右键单击选择来源添加导入

5.要提交 AWS Batch 作业并运行 Java 程序,请从运行菜单中选择运行。</p