提交作业 - AWS Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

提交作业

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

提交作业

  1. 从 AWS Batch 打开 https://console.amazonaws.cn/batch/. 控制台。

  2. 从导航栏中,选择要使用的区域。

  3. 在导航窗格中,选择 JobsSubmit job.

  4. 对于 Job name (作业名称),为您的作业选择一个唯一名称。

  5. 对于 Job definition (作业定义),为您的作业选择之前创建的作业定义。有关更多信息,请参阅创建作业定义.

  6. 对于 Job queue (作业队列),选择之前创建的作业队列。有关更多信息,请参阅创建作业队列.

  7. 对于 Job type (作业类型),为单个作业选择 Single (单一),或为 Array (数组) 提交数组作业。有关更多信息,请参阅数组作业. 此选项不适用于多节点并行作业。

  8. (仅限数组作业)对于 Array size (数组大小),指定介于 2 和 10000 之间的数组大小。

  9. (可选) 声明任何作业依赖项。一个作业最多可有 20 个依赖项。有关更多信息,请参阅作业依赖项.

    1. 对于 Job depends on (作业依赖IDs),输入此作业开始前必须完成的任何作业的作业。

    2. (仅限数组作业)对于 N-To-N job dependencies (N 到 N 的作业依赖项IDs),请为任何数组作业指定一个或多个作业,此作业的每个子作业索引应依赖于依赖项的相应子索引作业。例如,JobB:1 依赖于 JobA:1,依此类推。

    3. (仅限数组作业)选择 Run children sequentially (按顺序运行子对象) 以便为当前数组作业创建SEQUENTIAL依赖项。这可确保每个子索引作业等待其之前的作业完成。例如,JobA:1 依赖于 JobA:0,依此类推。

  10. 对于 Job attempts (作业尝试次数),指定尝试作业的最大次数(在尝试失败的情况下)。有关更多信息,请参阅自动作业重试.

  11. (可选)对于 Execution timeout (执行超时),指定允许您的作业尝试运行的最大秒数。如果尝试超过超时持续时间,则会停止,状态会变为 FAILED。 有关更多信息,请参阅作业超时

    重要

    在 Fargate 资源上运行的作业预计运行时间不能超过 14 天。14 天后Fargate,资源可能不再可用,并且作业将终止。

  12. (可选)在 Parameters (参数) 部分中,您可以指定参数替代默认值和占位符,以便在您的作业容器启动时运行的命令中使用。有关更多信息,请参阅Parameters.

    1. 选择 Add parameter (添加参数).

    2. 对于 Key (键),指定参数的键。

    3. 对于 Value (值),指定参数的值。

  13. 对于 vCPUs ,指定vCPUs要为容器预留的 的数量。此参数将映射到 的 CpuShares 部分创建容器中的 Docker Remote API 和 的 --cpu-shares docker run 选项。 每个 vCPU 相当于 1024 个 CPU 份额。您必须指定至少一个 vCPU。

  14. 对于 Memory (内存),指定要提供给作业容器MiB的内存的硬限制(在 中)。如果您的容器尝试使用超出此处指定的内存,该容器将被终止。此参数将映射到 的 Memory 部分创建容器中的 Docker Remote API 和 的 --memory docker run 选项。 您必须为作业指定至少 4 个MiB内存。

  15. (可选)对于 Number of GPUs ,指定GPUs您的任务将使用的编号。

    作业将在GPUs固定到该容器的固定数量为 的容器上运行。

  16. 对于 Command (命令),指定要传递到容器的命令。对于简单命令,您可以在空格分隔选项卡中键入命令,就像在命令提示符处键入命令一样。确保 JSON 结果 (该结果将传递到 Docker 守护程序) 正确无误。对于更复杂的命令(例如,使用特殊字符),您可以切换到 JSON 选项卡,然后在该选项卡中输入等效的字符串数组。

    此参数将映射到 的 Cmd 部分创建容器中的 Docker Remote APICOMMAND 参数中的 docker run 。 有关 Docker CMD 参数的更多信息,请转到 https://docs.docker.com/engine/reference/builder/#cmd

    注意

    您可以在命令中使用参数替代默认值和占位符。有关更多信息,请参阅Parameters.

  17. (可选) 您可以指定要传递到您的作业容器的环境变量。此参数将映射到 的 Env 部分创建容器中的 Docker Remote API 和 的 --env docker run 选项。

    重要

    建议不要对敏感信息(如凭证数据)使用纯文本环境变量。

    1. 选择 Add environment variable (添加环境变量).

    2. 对于 Key (键),指定环境变量的键。

      注意

      环境变量不能以AWS_BATCH 开头;此命名约定是为 AWS Batch 服务所设置的变量保留的。

    3. 对于 Value (值),指定环境变量的值。

  18. (可选)在 Tags (标签) 部分中,您可以为要与作业关联的每个标签指定键和值。有关更多信息,请参阅标记 AWS Batch 资源.

  19. 选择 Submit job.

    注意

    RUNNING 中提供 SUCCEEDEDFAILED 和 CloudWatch Logs 任务的日志;日志组是 /aws/batch/job,日志流名称格式为 first200CharsOfJobDefinitionName/default/ecs_task_id(此格式在日后可能会更改)。

    在任务达到 RUNNING 状态后,您可以使用 DescribeJobs API 操作以编程方式检索其日志流名称。有关更多信息,请参阅 CloudWatch Logs 中的查看发送到 Amazon CloudWatch Logs User Guide 的日志数据. 默认情况下,这些日志设置为永不过期,但您可以修改保留期。有关更多信息,请参阅 CloudWatch Logs 中的更改 Amazon CloudWatch Logs User Guide 中的日志数据保留期.