Node.js Lambda函数中的AWS-SDK找不到端点缓存模块

Ben*_*Ben 7 amazon-web-services aws-sdk aws-lambda

我一直在重构一些我们的AWS lambda函数,而在这个最新版本中,我收到以下错误:

"Payload": "{\"errorMessage\":\"Cannot find module '../vendor/endpoint-cache'\",\"errorType\":\"Error\",\"stackTrace\":[\"Function.Module._load (module.js:474:25)\",\"Module.require (module.js:596:17)\",\"require (internal/module.js:11:18)\",\"Object.<anonymous> (/var/task/node_modules/aws-sdk/lib/core.js:76:18)\",\"Module._compile (module.js:652:30)\",\"Object.Module._extensions..js (module.js:663:10)\",\"Module.load (module.js:565:32)\",\"tryModuleLoad (module.js:505:12)\",\"Function.Module._load (module.js:497:3)\"]}"
Run Code Online (Sandbox Code Playgroud)

该模块位于aws-sdk节点模块的供应商文件夹中。我检查了部署工件,以确保该文件夹存在,并且尝试将其降级到以前使用的旧版本的aws-sdk。

package.json中的依赖项:

"dependencies": {
    "aws-sdk": "^2.59.0",
    "moment": "^2.22.2",
    "underscore": "^1.8.3"
  },
Run Code Online (Sandbox Code Playgroud)

构建服务器运行npm-install,然后

$path = Get-Location
$thisProject = "$($path)\pathToProject\*"

Compress-Archive -Path $thisProject -DestinationPath thisProject.zip
Run Code Online (Sandbox Code Playgroud)

坚持了一段时间,因此非常感谢您的帮助。

HeW*_*eks 4

几个月前我遇到了这个问题。结果我需要确保包锁定文件包含在项目中并且设置了 aws-sdk 版本