我正在尝试在本地运行Node Lambda以进行调试。我正在使用Serverless和vsCode中的此启动配置
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceRoot}/node_modules/.bin/sls",
"args": [
"invoke",
"local",
"--function",
"hello",
"--data",
"hello world"
]
}
]
}
我的export.handler代码如下:
module.exports.handler = (event, context, callback) => {
if (event.triggerSource === CONSTANTS.TRIGGER_SOURCE) {
console.log("event = " + JSON.stringify(event));
const uri = process.env.SCT_URL_BASE;
const country = process.env.SCT_COUNTRY;
const username =
event.request.userAttributes[CONSTANTS.USER_ATTRIBUTES];
const codeP = event.request.codeParameter;
console.log("URI = " + url);
console.log("Code:" + codeP);
getUrlData(uri, country, username, codeP);
} else {
context.done(null, event);
}
};
当我运行调试模式时,它什么也没做。Serverless没有抛出任何错误,我只是无法进入函数内部。此外,还有另一件事情我不理解。在Serverless文档中,它说:--function 或 -f 您希望本地调用的服务中函数的名称。必需的。我不知道他们指的是什么,是我们调用运行Lambda的函数还是当调用Lambda时被调用的函数。在这种情况下,我导出的函数是"handler",但它也不起作用。谢谢。