如何将AWS Step Functions中的Task
状态的输入传递给输出?
在阅读AWS文档中的Input and Output Processing页面后,我玩过InputPath
,ResultPath
和OutputPath
的各种组合。
州定义:
"First State": {
"Type": "Task",
"Resource": "[My Lambda ARN]",
"Next": "Second State",
"InputPath": "$.someKey",
"OutputPath": "$"
}
输入:
{
"someKey": "someValue"
}
预期结果
我想First State
的输出(因此Second State
的输入)是
{
"someKey": "someValue"
}
实际结果
[empty]
如果输入更复杂,例如
{
"firstKey": "firstValue",
"secondKey": "secondValue"
}
我想转发所有这些而不用担心(子)路径。
如果ResultPath的值为null,则意味着将丢弃状态自身的原始输出,并且其原始输入将成为其结果。
因此,我将我的州定义更新为
"First State": {
"Type": "Task",
"Resource": "[My Lambda ARN]",
"Next": "Second State",
"ResultPath": null
}
因此,当传递输入示例Task
时,输入有效负载将被复制到输出,即使对于富对象,例如:
{
"firstKey": "firstValue",
"secondKey": "secondValue"
}