AWS-SDK в lambda-функции nodejs не может найти модуль кеша конечной точки - PullRequest
6 голосов
/ 22 апреля 2019

Я проводил рефакторинг некоторых наших лямбда-функций AWS, и в этой последней версии я получаю следующую ошибку:

"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)\"]}"

Этот модуль находится в папке vendor модуля узла aws-sdk. Я проверил артефакты развертывания, чтобы убедиться, что папка существует, и попытался перейти на более старую версию aws-sdk, которая использовалась ранее.

Зависимости в package.json:

"dependencies": {
    "aws-sdk": "^2.59.0",
    "moment": "^2.22.2",
    "underscore": "^1.8.3"
  },

Сервер сборки запускает npm-install, а затем

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

Compress-Archive -Path $thisProject -DestinationPath thisProject.zip

Я застрял на этом какое-то время, поэтому любая помощь очень ценится.

Ответы [ 3 ]

4 голосов
/ 22 апреля 2019

Я столкнулся с этой проблемой несколько месяцев назад. Оказывается, мне нужно было убедиться, что файл блокировки пакета был включен в проект и для него установлена ​​версия aws-sdk

2 голосов
/ 24 апреля 2019

У меня была эта проблема вчера, я решил ее, удалив aws-sdk в package.json и удалив + переустановив папку node_modules. Надеюсь, это решит вашу проблему.

Я думаю, aws-sdk уже включен по умолчанию.

0 голосов
/ 02 июля 2019

Рекомендуемый подход к определению SDK, который вы хотите в лямбда-функции, заключается в создании лямбда-слоя с желаемой версией.Смотрите здесь: https://aws.amazon.com/blogs/compute/working-with-aws-lambda-and-lambda-layers-in-aws-sam/

...