AWS Step and Batch Dynamic Command

У меня есть пакетное задание с одним определением задания, которое выполняется в зависимости от параметра в параметре команды среды.

Исходное значение - "--param2=XXX", но мне нужно, чтобы оно было динамическим в соответствии с входными параметрами пошаговых функций.

{
  "param2": "--param2=YYY"
}

Мне не удалось заменить значение в пошаговой функции входным значением

{
    "Step1": {
        "Type": "Task",
        "Resource": "arn:aws:states:::batch:submitJob.sync",
        "Parameters": {
            "JobDefinition": "arn:aws:batch:us-east-2:zzzzzzzzz:job-definition/XXXXXX",
            "JobQueue": "arn:aws:batch:us-east-2:zzzzzzzz:job-queue/YYYYYY",
            "JobName": "Step1",
            "ContainerOverrides": {
                "Environment": [
                    {
                        "Name": "envparam",
                        "Value": "0"
                    }
                ],
                "Command": [
                    "python",
                    "run.py",
                    "--param=val",
                    "$.param2"
                ]
            }
        },
        "Next": "Step2"
    }
}

person Rednaxel    schedule 19.11.2019    source источник


Ответы (1)


Я нашел решение, добавляющее параметр в пакет, и на него ссылаются с помощью Ref::Param2

Это полный код

{
    "Step1": {
        "Type": "Task",
        "Resource": "arn:aws:states:::batch:submitJob.sync",
        "Parameters": {
            "JobDefinition": "arn:aws:batch:us-east-2:zzzzzzzzz:job-definition/XXXXXX",
            "JobQueue": "arn:aws:batch:us-east-2:zzzzzzzz:job-queue/YYYYYY",
            "JobName": "Step1",
            "Parameters": {
                "Param2.$": "$.param2"
            },
            "ContainerOverrides": {
                "Environment": [
                    {
                        "Name": "envparam",
                        "Value": "0"
                    }
                ],
                "Command": [
                    "python",
                    "run.py",
                    "--param=val",
                    "Ref::Param2"
                ]
            }
        },
        "Next": "Step2"
    }
}
person Rednaxel    schedule 20.11.2019
comment
Вы знаете, как это сделать, используя только пошаговые функции? Parameters недоступен для пошаговых функций. - person davemyron; 17.03.2021