问题描述
我已经看到了很多关于如何在vscode中离线调试lambda函数的答案,并且在可以设置断点并逐步执行的范围内,它已经可以正常工作了。
但是我不确定如何为lambda函数指定有效负载输入进行测试。
{
"configurations": [
{
"type": "aws-sam","request": "direct-invoke","name": "Downloads:charge.handler (nodejs10.x)","invokeTarget": {
"target": "code","projectRoot": "","lambdaHandler": "charge.handler"
},"lambda": {
"runtime": "nodejs10.x","payload": {},"environmentvariables": {}
}
}
]
}
似乎无论我在有效负载json字段中输入什么内容,我的lambda函数运行时都只会看到一个空的param对象。我还在aws服务器上保存了一个ssm密钥。使用SAM CLI,Docker和AWS CLI设置的本地调试lambda函数是否可以自动使用该功能?
任何帮助将不胜感激。
谢谢, 格雷格
解决方法
好的,所以我没有正确指定有效负载。
应该是:
"payload": { "json": { "body": {
"item1": 1,"item2": 2,...
}}}