如何使用 Java 运行 AWS Batch 任务?

上次更新日期:2022 年 2 月 3 日

我想使用 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(添加导入)。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?