【问题标题】:AWS/Serverless Unknown error shows up when trying to reach my lambda尝试访问我的 lambda 时出现 AWS/Serverless Unknown 错误
【发布时间】:2020-03-09 13:07:00
【问题描述】:

我目前正在使用无服务器开发 nodejs lambda API。部署后,当我尝试访问我的 API 端点时,服务器返回一个内部错误,CloudWatch 没有给我很多信息,除了这个输出:

{
"errorType": "Error",
"errorMessage": "ENOENT: no such file or directory, open '/home/sbx_user1051/.serverlessrc.2618284497'",
"code": "ENOENT",
"errno": -2,
"syscall": "open",
"path": "/home/sbx_user1051/.serverlessrc.2618284497",
"stack": [
    "Error: ENOENT: no such file or directory, open '/home/sbx_user1051/.serverlessrc.2618284497'",
    "    at Object.openSync (fs.js:443:3)",
    "    at Function.writeFileSync [as sync] (/var/task/node_modules/write-file-atomic/index.js:212:13)",
    "    at createConfig (/var/task/node_modules/serverless/lib/utils/config/index.js:38:19)",
    "    at getConfig (/var/task/node_modules/serverless/lib/utils/config/index.js:52:5)",
    "    at Object.get (/var/task/node_modules/serverless/lib/utils/config/index.js:99:18)",
    "    at Object.<anonymous> (/var/task/node_modules/serverless/lib/utils/isTrackingDisabled.js:5:75)",
    "    at Module._compile (internal/modules/cjs/loader.js:778:30)",
    "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)",
    "    at Module.load (internal/modules/cjs/loader.js:653:32)",
    "    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)",
    "    at Function.Module._load (internal/modules/cjs/loader.js:585:3)",
    "    at Module.require (internal/modules/cjs/loader.js:692:17)",
    "    at require (internal/modules/cjs/helpers.js:25:18)",
    "    at Object.<anonymous> (/var/task/node_modules/serverless/lib/utils/tracking.js:11:28)",
    "    at Module._compile (internal/modules/cjs/loader.js:778:30)",
    "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)"
]

经过一下午的搜索,我找不到答案的开头。

我可以为您提供有关我的 sls 配置的信息,或者如果需要,感谢任何可以从这里帮助我的人。

【问题讨论】:

  • 您是如何将此功能部署到 AWS 的?你跑sls deploy了吗?还是其他方式?
  • 是的,我使用sls deploy [+OPTIONS]部署它

标签: typescript amazon-web-services aws-lambda serverless


【解决方案1】:

似乎框架逻辑中的os.homedir() 解析为不存在的目录(/home/sbx_user1051 不存在),至少它是可能发生此错误的时候。

你的情况可以吗?你的设置是什么?

【讨论】:

    【解决方案2】:

    似乎没有您尝试在默认 lambda 环境中使用的某些模块。您需要使用这些模块创建一个单独的层。

    【讨论】:

    • 感谢您的回答,但是“默认 lambda 环境中缺少模块”是什么意思?我有一些项目使用与这个相同的结构,但我从未遇到过这个问题。当我搜索这个问题时,结果发现它可能是与 npm/sls 相关的问题,不一定是 AWS 问题。
    【解决方案3】:

    请检查您在 lambda 上的句柄值,以确保它与您的入口函数一致。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2021-11-11
      • 2022-01-02
      • 2018-06-19
      • 2021-11-28
      • 2016-04-19
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多