Node.js 本地测试Lambda(Lambda函数调用另一个Lambda函数)
我正在学习节点和无服务器架构。 为了在本地测试lambda函数,我目前正在使用的lambda函数到目前为止运行良好 现在我有一个函数,另一个lambda函数,类似这样:Node.js 本地测试Lambda(Lambda函数调用另一个Lambda函数),node.js,amazon-web-services,aws-lambda,serverless-architecture,Node.js,Amazon Web Services,Aws Lambda,Serverless Architecture,我正在学习节点和无服务器架构。 为了在本地测试lambda函数,我目前正在使用的lambda函数到目前为止运行良好 现在我有一个函数,另一个lambda函数,类似这样: let lambda = new integration.myLambda.AWS.Lambda(); let params = { FunctionName: 'my-other-function', InvocationType: 'RequestResponse',
let lambda = new integration.myLambda.AWS.Lambda();
let params = {
FunctionName: 'my-other-function',
InvocationType: 'RequestResponse',
LogType: 'None',
Payload: JSON.stringify(myEvent)
};
return new Promise((resolve, reject) => {
lambda.invoke(params, function (error, data) {
if (error) {
console.log('error on invoke', error);
reject({
statusCode: HttpStatus.INTERNAL_SERVER_ERROR,
message: error
});
} else {
console.log('invoke success', data);
resolve(JSON.parse(data.Payload));
}
});
});
这段代码在本地不起作用,但一旦部署到aws上,就可以正常工作了。然而,部署到aws大约需要2分钟。所以我想知道是否有一种方法可以让这些代码在本地运行
有什么建议吗
谢谢大家! 因此,我个人将其作为我首选的本地框架,还有一个来自atlassian的非常有前途的项目,名为localstack——我实际上还没有尝试第二个!希望这有帮助。所以我发现我需要它做的就是导出: accessKeyId和secretAccessKey 为了进行测试,将其放在调用上方的代码中。然后确保你把它们放在一个安全的地方 我在出口它们
export ACCESS_KEY_ID=yourkey
export SECRET_ACCESS_KEY=yoursecretkey
现在我正在使用docker,所以我将它们保存在配置文件中
希望这对我2年的AWS Lambda经验有所帮助——我假设您希望在本地运行它们,以便对它们进行单元测试。有几种在本地对AWS Lambda进行单元测试的方法。在这篇文章中,他们描述了我一直在使用的一个,我可以推荐:我目前处于类似的情况。。。你有没有找到这样做的方法?谢谢