【问题标题】:Error while invoking the AWS Lambda function调用 AWS Lambda 函数时出错
【发布时间】:2019-08-12 21:55:27
【问题描述】:

我正在尝试基于此 AWS tutorial 将 AWS S3 与 Lambda 集成。当一张图片被添加到 S3 时,它会触发一个 Lambda 函数,该函数将从 S3 获取图片,调整它的大小并再次将其上传回 S3。

将函数复制到 AWS Lambda 管理后,我确实收到了以下消息。我不知道如何处理它。我使用 Node.js 8.10 作为运行时。完整代码可以在here 找到。文件名为 index.js,Lambda 处理程序为 index.handler,exports.handler 在 Lambda 函数中定义。

保存 Lambda 函数并通过将图像放入 S3 来触发该函数后,我确实在 CloudWatch Logs 中收到以下消息。

我不熟悉 Node.js,因此被困在这里。任何解决方案将不胜感激。

更新:这是文件夹结构或树。

【问题讨论】:

  • 乍一看似乎是文件名的问题,你能提供你的tree吗?
  • @Federkun 我已经用树更新了 OP。看起来不错,还有别的东西。

标签: node.js amazon-web-services aws-lambda


【解决方案1】:

问题是您没有正确部署 Lambda 函数。此代码依赖于 GraphicsMagick 和 Async 库,您尚未将其中任何一个上传到 Lambda,因此您的 require() 调用失败。你应该重新阅读Tutorial,但基本上你需要:

  • npm 初始化
  • npm install gm async --save
  • zip -r 函数.zip .
  • aws lambda create-function ...(根据教程)

您部署的 Lambda 函数应如下所示(注意包含 package.json 文件以及依赖 NPM 包的 node_modules 子文件夹):

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    相关资源
    最近更新 更多