使用 AWS Lambda 和 Node.js 构建最小配置的 API 开发环境

首先

這是為那些不知道如何應對便利的事物(例如Serverless)而感到困惑的人(包括自己)所設計的主題。標題中包含API的原因是基於預設要與API Gateway進行整合。

太长了,没时间读。

    npm runコマンドを利用して簡単にZIP化してアップロードすると楽チン

环境建设

我使用Homebrew和Nodebrew来进行环境配置(已经完成了)。
有很多关于使Node.js可用的主题,但这不是我想要强调的重点,所以省略掉了。

AWS Lambda在编写时的版本是v4.3.2(2017/03)。

项目设置

首先我们要创建一个项目。

mkdir node_projects
cd node_projects
npm init

输入上述命令并适当回答确认问题即可完成项目创建。

为了方便地进行存档处理。

请按照以下示例添加scripts/zip。
这样一来,当运行npm run zip时,将会创建一个zip文件。

{
  "name": "node_projects",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "zip": "zip -r function.zip index.js package.json node_modules*"
  },
  "author": "",
  "license": "ISC"
}

Lamdbda调用设置。

我已经创建了一个可以上传到Lambda的文件,但是这样还不能运行。

需要什么样的设置?它是Lambda上的处理程序选项。
处理程序选项位于设置标签页中。

需要将这部分与想要执行的*.js文件关联起来。
去掉文件名的扩展名部分,例如如果文件名是index.js,则只保留index。
然后在文件名后面加上.handler。

index.handler

这次,将设置源文件。
这次,将创建与设置为处理程序的处理程序相对应的部分。


export.handler = (event, context, callback)=>{
  callback(null, "Hello World";
};

我认为,最低限度的话会变成这个样子。
将函数对象赋值给export.handler这一部分。
Lambda会调用这一部分,所以会按照上述方式进行。
另外,在实际编码过程中,我认为会在这个函数对象内部进行编写。

以上了,辛苦了。

广告
将在 10 秒后关闭
bannerAds