Aws lambda 如何防止Aws Step函数插入父键;输入“;当它调用Lambda时?
我如何定义一个AWS Step函数状态,该状态将与我提供给Step函数的已调用Lambda完全相同的散列传递给该Lambda(例如,不将输入散列向下推一级到新键“input”) 我的ruby AWS Lambda函数假设传入的Aws lambda 如何防止Aws Step函数插入父键;输入“;当它调用Lambda时?,aws-lambda,aws-step-functions,Aws Lambda,Aws Step Functions,我如何定义一个AWS Step函数状态,该状态将与我提供给Step函数的已调用Lambda完全相同的散列传递给该Lambda(例如,不将输入散列向下推一级到新键“input”) 我的ruby AWS Lambda函数假设传入的事件散列如下所示: { "queryStringParameters": { "foo": "bar" } } 当我在AWS Step函数上执行测试时,调用该lambda并提供上面显示的相同哈希,
事件散列如下所示:
{
"queryStringParameters": {
"foo": "bar"
}
}
当我在AWS Step函数上执行测试时,调用该lambda并提供上面显示的相同哈希,传递到lambda中的事件
哈希与我提供给Step函数的哈希不同。。。它有一个称为“输入”的额外父键:
在Step函数中,调用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
},
或者一个步进函数总是把它的输入放在一个叫做“输入”的键下吗
如果在这种情况下,“输入”键总是添加到传递给Lambda函数的事件哈希中,那么如何编写Lambda,以便可以从Step函数(假定根键为“Input”)和API网关(使用不同的根键“queryStringParameters”)调用它呢?而不是这样:
"Payload": {
"Input.$": "$"
}
您应该这样做:
"Payload.$": "$"
将输入直接传递到lambda函数的有效载荷。而不是:
"Payload": {
"Input.$": "$"
}
您应该这样做:
"Payload.$": "$"
这将直接将输入传递到lambda函数的有效负载。太好了,谢谢!我的头还在绕着ASL。太好了,谢谢!我的头还在缠着ASL。