介绍
lard-lambda-handler 是一个基于 AWS Lambda 的 Node.js 应用程序的小型框架。它能够帮助您快速搭建 Serverless 应用程序的架构,基本上只需编写业务逻辑部分的代码即可。
安装
在项目目录下运行以下命令:
npm install -S lard-lambda-handler
使用
编写处理程序
创建一个处理程序的文件 handler.js
-- -------------------- ---- ------- ----- - ------------- - - ------------------------------- ----- ------- - ----- ------- -- - ------ - ----------- ---- ----- ---------------- -------- ------- ------- -- -- -- -------------- - - -------- ----------------------- --
构建 Lambda 包
你需要将你编写的代码打包成一个可部署的 zip 包,我们需要在 Lambda 运行环境中运行它。我们推荐使用 Serverless Framework 或 AWS CLI 来完成这个步骤。
以 Serverless Framework 为例,在项目根目录下执行以下命令:
sls package
部署 Lambda
使用你喜欢的工具部署 Lambda 包到 AWS Lambda。这里我们以 Serverless Framework 为例。
在项目根目录下执行以下命令:
sls deploy
你的 Lambda 已经部署成功了。当你触发事件时,AWS Lambda 会自动执行项目中的 handler.js
文件中的 handler
函数。Lambda 事件的格式可以在 AWS 官方文档中找到。
示例
我们以获取 GET 请求参数为例:
-- -------------------- ---- ------- ----- --- - --------------- ----- - ------------- - - ------------------------------- ----- ------- - ----- ------- -- - ----- ----- - -------------------- -- --- ------------ ------ - ----------- ---- ----- ---------------- ---------- ----- -- -- -- -------------- - - -------- ----------------------- --
我们在 serverless.yml
中配置 API Gateway,并将上面的代码部署:
-- -------------------- ---- ------- -------- ---------- -------- - ----------------------------------- - ---------------------------- --------- ----- --- -------- ---------- ---------- ---- -------- --------------- ------- - ----- ----- - ------- --- ----- ----
然后我们使用 curl 发送 GET 请求,获取参数:
curl https://xxxxxx.execute-api.us-east-1.amazonaws.com/dev/?name=lard-lambda-handler
结果将返回:
{ "getParams": { "name": "lard-lambda-handler" } }
终结
借助于 lard-lambda-handler 包,我们可以非常简单地构建 Serverless 应用程序,将焦点放在业务逻辑上。同时,它也解决了 AWS Lambda 上下文管理和日志输出等问题,真正做到了一次编写,多处使用,以提升开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562e581e8991b448e079d