Как передать ввод пошаговой функции в пакетное задание
Как правильно отправить часть входных данных пошаговой функции в пакетное задание?
Я попытался установить и env var, используя Parameters.ContainerOverrides.Environment, как это:
"Parameters": {
"ContainerOverrides": {
"Environment": [
{
"Name": "PARAM_1",
"Value": "$.param_1"
}
Ввод пошаговой функции выглядит следующим образом:
{
"param_1": "value-goes-here"
}
Но пакетное задание в итоге вызывается литералом "$.param_1" в переменной env PARAM_1.
1 ответ
Исправлена. Ключу значения просто нужен постфикс ".$".
"Parameters": {
"ContainerOverrides": {
"Environment": [
{
"Name": "PARAM_1",
"Value.$": "$.param_1"
}
Передайте его в "Параметры" (в родительских "Параметрах"). Обратите внимание, что все значения параметров являются строками
"MyStepTask": {
"Type": "Task",
"Resource": "arn:aws:states:::batch:submitJob.sync",
"Parameters": {
"JobDefinition": "myjobdef",
"JobName": "myjobname",
"JobQueue": "myjobqueue",
"Parameters": { "p_param1":"101",
"p_param2":"201"
}
},
"Next": "MyNextStepTask"
}
Если вы хотите передать параметры в пакетный режим, добавьте раздел "Параметры" в родительский раздел "Параметры" (отличное наименование!)
"MyStepTask": {
"Type": "Task",
"Resource": "arn:aws:states:::batch:submitJob.sync",
"Parameters": {
"JobDefinition": "myjobdef",
"JobName": "myjobname",
"JobQueue": "myjobqueue",
"Parameters": {
"Name": "PARAM_1",
"Value.$": "$.param_1"
}
},
"Next": "MyNextStepTask"
}