【问题标题】:Cannot find module 'handler' when running simple lambda deployed by serverless运行无服务器部署的简单 lambda 时找不到模块“处理程序”
【发布时间】:2020-08-09 07:35:04
【问题描述】:

我正在尝试开始学习 serverless / lambda,所以我创建了一个简单的 lambda 并使用 serverless 部署它,它可以工作。

但是,当我想测试 Lampbda 的端点时,我得到了一个 502 回复。当我查看日志时,它告诉我找不到模块handler,这没有任何意义......

这是日志:

{
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'handler'\nRequire stack:\n- 
/var/runtime/UserFunction.js\n- /var/runtime/index.js",
 "trace": [
    "Runtime.ImportModuleError: Error: Cannot find module 'handler'",
"Require stack:",
"- /var/runtime/UserFunction.js",
"- /var/runtime/index.js",
"    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
"    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
"    at Object.<anonymous> (/var/runtime/index.js:43:30)",
"    at Module._compile (internal/modules/cjs/loader.js:1158:30)",
"    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)",
"    at Module.load (internal/modules/cjs/loader.js:1002:32)",
"    at Function.Module._load (internal/modules/cjs/loader.js:901:14)",
"    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)",
"    at internal/main/run_main_module.js:18:47"
]
}

【问题讨论】:

    标签: aws-lambda serverless-framework


    【解决方案1】:

    这通常意味着它找不到作为起始点执行的方法。

    例如在你的 serverless.yml 上你可以有这样的东西

    functions:
      getUsers:
        handler: userFile.handler
    

    这意味着它需要在 serverless.yml 的同一文件夹中与导出的方法处理程序有一个 userFile

    module.exports.hello = async event => {
      return {
        statusCode: 200,
        body: JSON.stringify(
          {
            message: 'Go Serverless v1.0! Your function executed successfully!',
            input: event,
          },
          null,
          2
        ),
      };
    };
    

    注意,它不需要命名处理函数,只需要在 serverless.yml 上定义相同的名称即可

    【讨论】:

    • 是的,这就是问题所在,serverless.yml 不在同一个文件夹中。谢谢!
    • 如果您的处理程序文件命名为“user.controller”并且您尝试在 serverless.yml 文件处理程序中访问它,您可能会遇到同样的问题:user.controller.hello
    猜你喜欢
    • 2019-04-23
    • 2020-10-08
    • 2020-06-27
    • 2023-02-19
    • 2021-08-08
    • 2020-05-09
    • 2020-12-17
    • 2019-08-27
    • 2020-02-17
    相关资源
    最近更新 更多