我有一个用node.js express开发的移动应用程序后端。我尝试将其部署为lambda服务。为此,我创建了一个无服务器框架项目(https://github.com/serverless)。之前我通过启动express后台应用程序在本地测试了移动应用程序。现在我找不到一种没有本地后台的方法来本地测试我的移动应用。jaws run命令只在我调用它一次时运行。
有什么方法可以将lambda函数作为web服务启动吗?或者,除了Serverless Framework之外,还有其他选择吗?
发布于 2015-11-26 07:04:34
看起来现在还没有办法做到这一点,但1.4.0版本即将发布,其中应该包括一个新命令"jaws serve“,它应该可以解决您的问题。
这是公关:https://github.com/jaws-framework/JAWS/pull/269
更新:您现在可以使用新的serverless-serve插件来实现这一点。
更新2: serverless-serve已经有一段时间没有更新了,现在看起来serverless-offline是模拟Lambda函数的一个更好的选择。
发布于 2018-10-11 20:52:30
现在可以使用lambda-local了。
像这样安装它:
sudo -H npm install -g lambda-local将您的参数作为JSON对象添加到一个文件中,在本例中为event.json,并像这样调用index.js文件:
lambda-local -l index.js -h handler -e event.json发布于 2019-04-25 23:40:13
The serverless framework now provide a way to invoke functions locally
这样,您就可以在json文件中创建查询,如下所示
{
"body": "{\"hello\":\"world\"}",
"pathParameters": {
"id": "foo"
},
"queryStringParameters": {
"bar": "42"
}
"requestContext": {
"identity": {
"cognitoIdentityId": "cognito-id"
}
}
}如果您的函数是在serverless.yml文件中描述的,则可以使用以下命令在本地调用它
serverless invoke local --function yourFunction --path path/to/your/mock.jsonhttps://stackoverflow.com/questions/33884968
复制相似问题