我希望实现此处概述的答案: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端点之类的东西提供了本地开发设置,以及一种轻松打包和部署事物的方法。您需要的确切步骤是:
- 创建一个AWS帐户和具有管理特权的IAM用户
- 安装node.js
- 安装AWS CLI(并使用
aws configure
进行配置) - 安装SAM CLI和Docker(在Docker容器中运行的本地实例)
- 使用
sam init --runtime nodejs
初始化一个新的SAM项目(或其他运行时版本(如果需要)) - 通过QuickStart运行,以了解如何定义SAM模板,构建SAM应用和部署。
如果您不想使用框架或本地开发环境,而只是想创建源捆绑包,则有文档。要点是:
- 安装nodejs(例如使用Homebrew或安装程序)
-
npm install
您需要的模块 - 将您的代码汇编,包括
node_modules
文件夹 - 通过AWS控制台上传ZIP
我的猜测是,您需要安装npm安装档案馆,并将node_modules依赖关系与index.js(lambda入口点的处理程序文件)一起包装。您可以拉链并将其部署/上传到您的lambda。
还可以查看https://github.com/serverless/serverless框架,这将更容易做到这类类型。