Step Functions 是一种服务,用于将带有特定状态(状态机)的 Lambda 函数、API 端点和其他服务组合在一起。在一些情况下,需要将一个状态的输出格式化为下一个状态的输入。下面是一种方法可以满足这个需求:
{
"Comment": "A simple state machine example",
"StartAt": "State1",
"States": {
"State1": {
"Type": "Task",
"Resource": "",
"ResultPath": "$.result",
"Next": "State2"
},
"State2": {
"Type": "Pass",
"Result": {
"input": {
"key1.$": "$.result.key1",
"key2.$": "$.result.key2"
}
},
"ResultPath": "$.input",
"Next": "State3"
},
"State3": {
"Type": "Task",
"Resource": "",
"InputPath": "$.input",
"Next": "End"
},
"End": {
"Type": "Succeed"
}
}
}
在这个示例中,第一个状态(State1)的输出存储在 $.result 变量中。接下来的状态(State2)是一个“Pass”状态,它将 $.result.key1 和 $.result.key2 格式化为一个对象,并将它存储在 $.input 变量中。最后一个状态(State3)以 $.input 作为输入,然后完成状态机的执行。
希望这个例子能够帮助您解决 AWS Step Functions 上格式化输入和输出的问题。