我想在步骤函数中做的是我的第一步生成输出,在下一步中我希望将输出插入到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!\""
}
答案 0 :(得分:1)
第一个州的输出是“ 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"
}
}
否则,您可以在并行状态下执行此操作...但这似乎过大了,不是吗?