如何将步骤中的输入插入 json 结构并传递到步骤函数中的下一步?



我想在步骤函数中做的是我的第一步生成一个输出,在下一步中,我希望将该输出插入 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!""
}

第一个状态的输出是"Hello World"。

这意味着RefactorTask的输入是..."你好世界"!这是一个字符串,而不是一个对象,所以它没有任何属性。

您是否尝试直接在StartTask中设置"ResultPath",而不是添加Pass州 ?

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

否则,您可以使用并行状态来做到这一点...但这似乎有点矫枉过正,不是吗?

最新更新