如何为AWS Lambda建立开发环境



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

但是,我发现我一直在这条线上一直遇到Unable to import module 'index'

const _archiver = require('archiver');

所以,我猜我无法通过在线控制台进行此操作。相反,我可能必须创建一个部署软件包。

我该怎么做?我显然需要AWS CLI,NODE.JS,NPM,我对所有这些都是新手。在亚马逊文档中,我找不到有关如何设置本地开发环境的实用列表。

我要安装哪些工具,哪些版本以及确切的顺序?

编辑:Windows:)

请查看无服务器应用程序模型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应用和部署。

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

  1. 安装nodejs(例如使用Homebrew或安装程序)
  2. npm install您需要的模块
  3. 将您的代码汇编,包括node_modules文件夹
  4. 通过AWS控制台上传ZIP

我的猜测是,您需要安装npm安装档案馆,并将node_modules依赖关系与index.js(lambda入口点的处理程序文件)一起包装。您可以拉链并将其部署/上传到您的lambda。

还可以查看https://github.com/serverless/serverless框架,这将更容易做到这类类型。

最新更新