如何为AWS Lambda设置开发环境?

时间:2019-03-05 15:40:24

标签: amazon-web-services aws-lambda

我希望实现此处概述的答案:https://stackoverflow.com/a/50397276/1980516

但是,我发现我一直在此行碰到Unable to import module 'index'

const _archiver = require('archiver');

因此,我猜想我无法通过在线控制台执行此操作。相反,我可能必须创建一个部署程序包。

我该如何处理?我显然需要AWS CLI,Node.js,npm,而我是新手。在Amazon文档中,我找不到有关如何设置本地开发环境的实用列表。

我应该安装哪些工具,确切版本和顺序?

编辑:Windows:)

2 个答案:

答案 0 :(得分:3)

我的猜测是,您需要npm安装存档器,并将node_modules依赖项与index.js(用于lambda入口点的处理程序文件)一起打包。您可以压缩并将其部署/上传到您的lambda。

还可以看看https://github.com/serverless/serverless框架,它将使这些事情变得更容易。

答案 1 :(得分:2)

看看AWS SAM(无服务器应用程序模型)。它为诸如Lambda函数和API Gateway端点之类的事物提供了本地开发设置,以及一种轻松打包和部署事物的方法。您需要的确切步骤是:

  1. 创建具有管理员权限的AWS账户和IAM用户
  2. 安装node.js
  3. 安装AWS CLI(并使用aws configure进行配置)
  4. 安装SAM CLI和Docker(本地实例在docker容器中运行)
  5. 使用sam init --runtime nodejs(或需要时使用其他运行时版本)初始化新的SAM项目
  6. 贯穿quickstart,以了解如何定义SAM模板,构建SAM应用程序以及进行部署。

如果您不想使用框架或本地开发环境,而只想创建源包,则有docs。要点是:

  1. 安装nodejs(例如,使用自制软件或an installer
  2. npm install您需要的模块
  3. 压缩包括node_modules文件夹的代码
  4. 通过AWS控制台上传zip