Как вставить вход из шага в структуру json и перейти к следующему шагу в функциях шага? - PullRequest
0 голосов
/ 01 июня 2018

Что я хочу сделать в пошаговых функциях, так это то, что мой первый шаг генерирует вывод, а на следующем шаге я хочу, чтобы этот вывод был вставлен в json и получен в качестве вывода.

Например:

Выход для шага 1: HelloWorld

Вход для шага 2: HelloWorld

Выход для шага 2:

myData : {
 data : HelloWorld
}

Я пробовал следующий конечный автомат, но он не работает.

        {
          "Comment": "Sample State Machine",
          "StartAt": "StartTask",
          "States": {
              "StartTask": {
                "Type": "Pass",
                "Result": "Hello World!",
                "Next": "RefactorTask"
            },
            "RefactorTask": {
            "Type": "Pass",
                "Result" : {
                "$" : "$"
            },
            "ResultPath" : "$.myData.data"
        }
    }
}

Ошибка:

 {
  "error": "States.ReferencePathConflict",
  "cause": "Unable to apply step \"myData\" to input \"Hello World!\""
}

1 Ответ

0 голосов
/ 06 июля 2018

В первом состоянии выводится "Hello World".

Это означает, что RefactorTask является ... "Hello World"!Это строка, а не объект, поэтому у нее нет никаких свойств.

Вы пытались установить "ResultPath" непосредственно в StartTask вместо добавления Pass состояния?

Например,

{
      "Comment": "Sample State Machine",
      "StartAt": "StartTask",
      "States": {
          "StartTask": {
            "Type": "Pass",
            "Result": "Hello World!",
            "ResultPath" : "$.myData.data",
            "Next": "Whatever is your next task"
        }
}

В противном случае вы можете сделать это с параллельными состояниями ... но это может показаться излишним, не так ли?

...