我想在步骤函数中做的是我的第一步生成一个输出,在下一步中,我希望将该输出插入 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"
}
}
否则,您可以使用并行状态来做到这一点...但这似乎有点矫枉过正,不是吗?