我没有得到任何错误在本地与节点获取包。json也有节点获取依赖,但当我部署在aws lambda然后这个依赖没有找到。从'node-fetch'中导入fetch;
{
"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'node-fetch'nRequire stack:n- /var/task/query1.jsn- /var/task/query1Main.jsn- /var/runtime/UserFunction.jsn- /var/runtime/index.js",
"trace": [
"Runtime.ImportModuleError: Error: Cannot find module 'node-fetch'",
"Require stack:",
"- /var/task/query1.js",
"- /var/task/query1Main.js",
"- /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:999:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)",
" at Module.load (internal/modules/cjs/loader.js:863:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:708:14)",
" at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)",
" at internal/main/run_main_module.js:17:47"
]
}
必须将外部包声明为lambda的层https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
我使用Node版本18.x
有同样的问题,降级到16.x
后修复
这可以在lambda页面中完成->向下滚动到Runtime settings
我希望你已经解决了这个问题,但我把这篇文章贴出来,以防有人觉得它有用。