Я выполняю какой-то эксперимент с пошаговой функцией, поэтому я разработал этот рабочий процесс. вот снимок рабочего процесса
Код:
{
"Comment": "SF demo",
"StartAt": "Map",
"States": {
"Map": {
"Type": "Map",
"InputPath": "$.Records",
"ItemsPath": "$.payload",
"MaxConcurrency": 2,
"Parameters":{
"input1.$":"$.choice1",
"input2.$":"$.choice2"
},
"Next": "Final State",
"Iterator": {
"StartAt": "ChoiceState",
"States": {
"ChoiceState": {
"Type": "Choice",
"Choices":[
{
"Variable":"$.input1",
"StringEquals":"input1",
"Next":"CWT"
},
{
"Variable":"$.input2",
"StringEquals":"input2",
"Next":"Lenel"
}
]
},
"CWT":{
"Type":"Task",
"InputPath":"$.payload",
"Resource":"***********************",
"End": true
},
"Lenel":{
"Type":"Task",
"Resource":"****************",
"End": true
}
}
}
},
"Final State": {
"Type": "Pass",
"End": true
}
}
}
У меня проблема с обработкой входных данных
У меня будут входы этого типа:
{
"Records": {
"choice1": "input1",
"choice2": "input2",
"payload": [
{
"Key": "tempfile1.csv"
}
]
}
}
Мое ожидание: состояние выбора будет считывать данные «choice1» и «choice2» и будет переходить в следующее состояние, в котором будет обрабатываться массив данных «полезной нагрузки».
Но данные «полезной нагрузки» не переходит в следующее состояние, и я получаю эту проблему
TaskStateEntered CWT - 238 Mar 18, 2020 12:15:57.070 PM
{
"name": "CWT",
"input": {
"input2": "input2",
"input1": "input1"
}
}
ExecutionFailed - 238 Mar 18, 2020 12:15:57.070 PM
{
"error": "States.Runtime",
"cause": "An error occurred while executing the state 'CWT' (entered at the event id #7).
Invalid path
'$.payload' : No results for path: $['payload']"
}