Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 尝试访问我的lambda时出现AWS/Serverless未知错误_Typescript_Amazon Web Services_Aws Lambda_Serverless - Fatal编程技术网

Typescript 尝试访问我的lambda时出现AWS/Serverless未知错误

Typescript 尝试访问我的lambda时出现AWS/Serverless未知错误,typescript,amazon-web-services,aws-lambda,serverless,Typescript,Amazon Web Services,Aws Lambda,Serverless,我目前正在使用serverless开发nodejs lambda API。部署后,当我尝试访问API端点时,服务器返回一个内部错误,CloudWatch没有给我提供很多信息,除了以下输出: { "errorType": "Error", "errorMessage": "ENOENT: no such file or directory, open '/home/sbx_user1051/.serverlessrc.2618284497'", "code": "ENOENT", "errno":

我目前正在使用serverless开发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)"
]
{
“errorType”:“Error”,
“errorMessage”:“enoint:没有这样的文件或目录,打开'/home/sbx_user1051/.serverlessrc.2618284497',
“代码”:“Enoint”,
“errno”:-2,
“系统调用”:“打开”,
“路径”:“/home/sbx_user1051/.serverlessrc.2618284497”,
“堆栈”:[
“错误:enoint:没有这样的文件或目录,请打开'/home/sbx_user1051/.serverlessrc.2618284497'”,
“在Object.openSync(fs.js:443:3)”中,
“在Function.writeFileSync[as sync](/var/task/node_modules/write file atomic/index.js:212:13)”中,
“在createConfig(/var/task/node_modules/serverless/lib/utils/config/index.js:38:19)”中,
“在getConfig(/var/task/node_modules/serverless/lib/utils/config/index.js:52:5)”中,
“在Object.get(/var/task/node_modules/serverless/lib/utils/config/index.js:99:18)”中,
“at对象。(/var/task/node_modules/serverless/lib/utils/isTrackingDisabled.js:5:75)”,
“at模块编译(内部/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)”,
“在tryModuleLoad(internal/modules/cjs/loader.js:593:12)”中,
“at Function.Module._load(内部/modules/cjs/loader.js:585:3)”,
“at Module.require(internal/modules/cjs/loader.js:692:17)”,
“根据需要(内部/modules/cjs/helpers.js:25:18)”,
“at对象。(/var/task/node_modules/serverless/lib/utils/tracking.js:11:28)”,
“at模块编译(内部/modules/cjs/loader.js:778:30)”,
“at Object.Module._extensions..js(internal/modules/cjs/loader.js:789:10)”
]
经过一个下午的搜索,我找不到答案的开头


我可以向您提供有关我的sls配置的信息,如果需要的话,也可以提供其他信息,这要感谢任何能从这里帮助我的人。

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

似乎
os.homedir()
在一个框架中,逻辑解析为不存在的目录(
/home/sbx_user1051
不存在),至少在发生此错误时是这样


您是否可以这样做?您的设置是什么?

请检查lambda上的句柄值,以确保它与您的输入功能一致


谢谢您的回答,但您所说的“默认lambda环境中缺少模块”是什么意思?我有一些项目使用与此相同的结构,但我从未遇到过此问题。当我搜索此问题时,发现它可能是npm/sls相关问题,而不一定是AWS问题。您是如何将此功能部署到AWS的?您是否运行了
sls deploy
?或其他方式?是的,我使用
sls deploy部署它[+选项]