【问题标题】:Lambda node js errorLambda节点js错误
【发布时间】:2017-10-04 02:58:50
【问题描述】:

如果我使用从 github 下载的节点 js 文件,它可以完美运行。

但是如果我更改文件(即使我只添加一个空格)。我得到以下错误。知道为什么会这样吗?

{
 "errorMessage": "Cannot find module '/var/task/index'",
 "errorType": "Error",
  "stackTrace": [
   "Function.Module._load (module.js:276:25)",
   "Module.require (module.js:353:17)",
   "require (internal/module.js:12:17)"
 ]
}

【问题讨论】:

  • 如果不查看实际代码并了解您的 lambda 配置,这很难说。代码是否依赖于某些节点模块? lambda 代码是如何推送的?是通过 zip 文件、s3 还是内嵌代码?以下信息会有所帮助: 1. 您从 github 下载的代码有效。 2.AWS Lambda配置截图
  • @NeerajSharma 谢谢。我正在关注这个示例。 bypeopletechnologies.com/blog/2017/05/01/… 如果我上传相同的文件,它可以工作。但是如果我在 js 文件中添加一个空格。我收到上述错误。我不确定为什么会这样。由于没有对此文件进行任何更改,它可以完美运行。
  • 您无法在 AWS 控制台中内联更改 JS 文件,因为您上传了一个 zip 文件。如果要更改代码,您应该按照以下步骤操作: 1. 在笔记本电脑中解压缩 2. 更改代码 3. 创建具有适当依赖关系的 zip 文件 4. 上传 zip 文件 您是这样进行更改的吗?跨度>
  • @NeerajSharma 是的,我就是这么做的。我已经在我的笔记本电脑中解压缩了文件。更改.js 文件。将其压缩回去并将压缩文件重新上传到 lambda 。我刚刚添加了一个额外的空间来测试它。所以依赖关系还是一样的。
  • 当您遇到该错误时,请导出函数并查看结果。如果你有类似 prettifier 的东西会重写你的代码,那可能就是原因。

标签: javascript node.js amazon-web-services amazon-s3 lambda


【解决方案1】:

这是因为您必须将主文件命名为 index.js,并且它应该包含以下代码:

exports.handler = (事件、上下文、回调) => { 回调(空,“成功”)};

很可能,当您从 GitHub 上传文件时,它有另一个名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-05
    • 2017-11-21
    • 2019-06-19
    • 2012-02-21
    • 2018-12-03
    • 2018-12-03
    • 2016-06-08
    • 1970-01-01
    相关资源
    最近更新 更多