Как мне вывести исходный ввод состояния в пошаговой функции?

У меня есть ступенчатая функция со следующим определением:

{
  "StartAt": "A",
  "States": {
     "A": {
        "Type": "Task",
        "Resource": "do something",
        "Next": "B"
     },
     "B": {
        "Type": "Task",
        "Resource": "do something",
        "End": true
     }
  }
}

Проблема заключается в вводе для состояния B. Мне нужно, чтобы он был таким же, как ввод для состояния A. В настоящее время, однако, ввод для этапа B является выводом для этапа A. Принимая во внимание, что этап A фактически вызывает другую пошаговую функцию или выполняет операцию DynamoDB (без лямбда-выражения), я мало что могу сделать с выводом этого шага, но шаг B по-прежнему должен получать те же входные данные, что и шаг A. Как я могу это определить?


person Kamil Janowski    schedule 15.07.2020    source источник


Ответы (2)


Установите ResultPath: null в состояние A, чтобы отменить результат и оставить состояние без изменений.

person cementblocks    schedule 15.07.2020

Вы можете выполнять задачи в параллельно, примерно так:

   "A_And_B":{
      "Type":"Parallel",
      "Branches":[
         {
            "StartAt":"A",
            "States":{
               "A":{
                  "Type":"Task",
                  "Resource":"do something",
                  "Next":"B"
               }
            }
         },
         {
            "StartAt":"B",
            "States":{
               "B":{
                  "Type":"Task",
                  "Resource":"do something",
                  "End":true
               }
            }
         }
      ],
      "Next":"NextState"
   }
person lexicore    schedule 21.07.2020