如何解决如何防止 Aws Step Function 在调用 Lambda 时插入父键“Input”?
我如何定义一个 AWS Step Function 状态,该状态将完全相同的哈希传递到我提供给 Step Function 的调用 Lambda 中(例如,不将输入哈希在新键“Input”下向下推一级)?
我的 ruby AWS Lambda 函数假设传入的 event
哈希如下所示:
{
"querystringparameters": {
"foo": "bar"
}
}
当我在调用该 lambda 的 AWS Step Function 上执行测试执行并提供与上述相同的哈希时,传递到 lambda 的 event
哈希与我提供的哈希不同到 Step Function... 它有一个名为“Input”的额外父键:
{
"Input":
{
"querystringparameters": {
"foo": "bar"
}
}
}
在 Step Function 中,调用 lambda 的状态定义为:
"invoke foobar": {
"Type": "Task","Resource": "arn:aws:states:::lambda:invoke","Parameters": {
"FunctionName": "arn:aws:lambda:xxxx:xxxx:function:xxxx:$LATEST","Payload": {
"Input.$": "$"
}
},"Next": "Done","TimeoutSeconds": 10
},
或者 Step Function 总是接受它的输入并将它“放在”一个叫做“Input”的键下?
如果在这种情况下总是将“输入”键添加到传递给 Lambda 函数的事件哈希中,那么如何编写 Lambda 以便可以从 两个 步骤中调用它函数(假定根键为“Input”)和 API 网关(使用不同的根键“querystringparameters”)?
解决方法
取而代之的是:
"Payload": {
"Input.$": "$"
}
你应该这样做:
"Payload.$": "$"
这会将输入直接传递给 lambda 函数的 Payload
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。