6

在 AWS Batch 中,我试图在提交作业时覆盖作业定义中硬编码的图像。但我没有看到任何相关的文档。

当我在作业提交期间尝试添加image字段时,我得到:

参数验证失败:输入中的未知参数:“图像”,必须是以下之一:jobName、jobQueue、arrayProperties、dependsOn、jobDefinition、参数、containerOverrides、retryStrategy、超时

或者

参数验证失败:containerOverrides 中的未知参数:“image”,必须是以下之一:vcpus、内存、命令、环境

4

1 回答 1

3

我相信这是不可能的。

image是一个容器属性,因为此文档aws batch submit-job help将它与命令、vcpus 和内存一起显示,但许多容器属性(例如作业角色 arn)并未在文档 中列为可覆盖。

您的第二条错误消息显示了所有可以覆盖的容器属性,与文档中的属性相匹配。

--container-overrides (structure)

JSON 格式的容器覆盖列表,指定指定作业定义中容器的名称及其应接收的覆盖。您可以使用命令覆盖覆盖容器的默认命令(在作业定义或 Docker 映像中指定)。您还可以覆盖容器上的现有环境变量(在作业定义或 Docker 映像中指定)或使用环境覆盖向其添加新环境变量。

速记语法:

vcpus=integer,memory=integer,command=string,string,instanceType=string,environment=[{name=string,value=string},{name=string,value=string}],resourceRequirements=[{value=string,type=string},{value=string,type=string}]

JSON 语法:

{
    "vcpus": integer,
    "memory": integer,
    "command": ["string", ...],
    "instanceType": "string",
    "environment": [
        {
            "name": "string",
            "value": "string"
        }
        ...
    ],
    "resourceRequirements": [
        {
        "value": "string",
        "type": "GPU"
        }
        ...
    ]
于 2020-01-30T02:13:11.080 回答