【问题标题】:How to set up development environment for AWS Lambda?如何为 AWS Lambda 搭建开发环境?
【发布时间】:2019-07-27 03:17:15
【问题描述】:

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

但是,我发现我总是在这一行遇到Unable to import module 'index'

const _archiver = require('archiver');

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

我该怎么做?我显然需要 AWS CLI、Node.js、npm,而且我对所有这些都是新手。在 Amazon 文档中,我找不到关于如何设置本地开发环境的实用列表。

我要安装哪些工具,安装哪些版本以及安装顺序是什么?

编辑:Windows :)

【问题讨论】:

  • 您使用的是什么操作系统?如果我知道是 Mac、Linux 等,我可以提供更多详细信息。
  • 做一个简短的快速操作,按照@noobius 的建议做,即压缩所有依赖项(节点模块)和源(比如 index.js)并使用控制台直接上传到 Lambda。如果包很小(AWS SAM 或serverless

标签: amazon-web-services aws-lambda


【解决方案1】:

看看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

【讨论】:

    【解决方案2】:

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

    还可以查看https://github.com/serverless/serverless 框架,它可以更轻松地完成这些类型的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-13
      • 2021-05-19
      • 2010-09-05
      • 2011-01-19
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      相关资源
      最近更新 更多