

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：提交作业
<a name="submit_job"></a>

注册作业定义后，可以将其作为作业提交到 AWS Batch 作业队列。在运行时，可以覆盖作业定义中指定的许多参数。

**提交作业**

1. 打开 AWS Batch 控制台，网址为[https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)。

1. 在导航栏中，选择 AWS 区域 要使用的。

1. 在导航窗格中，选择**作业**。

1. 选择 **Submit new job**。

1. 对于**名称**，为您的作业定义输入唯一名称。名称长度不超过 128 个字符。可以包含大小写字母、数字、连字符（-）和下划线（\_）。

1. 对于 **Job definition**，为作业选择现有的作业定义。有关更多信息，请参阅 [创建单节点作业定义](create-job-definition.md)。

1. 在 **作业队列**选择现有作业队列。有关更多信息，请参阅 [创建作业队列](create-job-queue.md)。

1. 对于 **作业依赖关系**，选择**添加作业依赖关系**。

   1. 在**作业 ID **中，输入所有依赖项的作业 ID。然后选择**添加作业依赖关系**。一个作业最多可有 20 个依赖项。有关更多信息，请参阅 [作业依赖项](job_dependencies.md)。

1. (仅限数组作业) 对于 **Array size**，指定一个介于 2 和 10000 之间的数组大小。

1. （可选）展开 **标签**，然后选择**添加标签**以向资源添加标签。输入键和可选的值，然后选择**添加标签**。

1. 选择**下一页**。

1. 在 **作业覆盖**部分中：

   1. 

      （可选）在**计划优先级**中，输入介于 0 和 100 之间的计划优先级值。值越高，优先级越高。

   1. （可选）对于**作业尝试**，请输入 AWS Batch 尝试将作业移至某一 `RUNNABLE` 状态的最多次数。您可以输入 1 到 10 之间的数字。有关更多信息，请参阅 [自动作业重试](job_retries.md)。

   1. （可选）对于**执行超时**，输入超时值（以秒为单位）。执行超时是指未完成的作业终止之前的时间长度。如果某次尝试超过了超时时间，该尝试将停止，状态将转为 `FAILED`。有关更多信息，请参阅 [作业超时](job_timeouts.md)。最小值为 60 秒。
**重要**  
不要依赖在 Fargate 资源上运行超过 14 天的作业。14 天后，Fargate 资源可能不再可用，该作业很可能会被终止。

   1. （可选）开启 **传播标签**将标签从作业和作业定义传播到 Amazon ECS 任务。

1. 展开**其他配置**。

1. （可选）对于**重试策略条件**，选择**退出时添加评估**。至少输入一个参数值，然后选择一个**操作**。对于每组条件，必须将**操作**设置为**重试**或**退出**。这些操作意味着以下几点：
   + **重试** — AWS Batch 重试，直到达到您指定的任务尝试次数。
   + **退出** — AWS Batch 停止重试作业。
**重要**  
如果选择**退出时添加评估**，则至少配置一个参数并选择一个**操作**或选择**退出时移除评估**。

1. 对于**参数**，选择**添加参数**以添加参数替换占位符。输入一个**键**和可选的**值**。

1. 在**容器覆盖**部分中：

   1. 对于**命令**，将命令的等效 **JSON** 字符串数组输入到该字段中。

      此参数映射到 [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) [创建容器](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)部分中的`Cmd`，以及[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)的`COMMAND`参数。有关 Docker `CMD` 参数的更多信息，请参阅 refer [https://docs.docker.com/engine/ence/](https://docs.docker.com/engine/reference/builder/#cmd) builder/ \#cmd。
**注意**  
此参数不能包含空字符串。

   1. 对于 **v CPUs**，输入CPUs 要为容器保留的 v 数。此参数将映射到 [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) 的[创建容器](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)部分中的`CpuShares`以及[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)的`--cpu-shares`选项。每个 vCPU 相当于 1024 个 CPU 份额。您必须指定至少一个 vCPU。

   1. 对于**内**存，输入容器可用的内存限制。如果您的容器尝试使用超出此处指定的内存，该容器将被终止。此参数将映射到 [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) 的[创建容器](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)部分中的`Memory`以及[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)的`--memory`选项。您必须为作业指定至少 4 MiB 内存。
**注意**  
要最大限度地提高资源利用率，请为特定实例类型的作业确定内存优先级。有关更多信息，请参阅 [计算资源内存管理](memory-management.md)。

   1. （可选）在 “**数量**” 中 GPUs，选择 GPUs 要为集装箱保留的数量。

   1. （可选）对于**环境变量**，选择**添加环境变量**以名称-值对的形式添加环境变量。这些变量传递给容器。

   1. 选择**下一页**。

   1. 对于**任务审核**，请查看配置步骤。如果需要进行更改，请选择 **Edit**（编辑）。完成后，选择**创建作业定义**。