Требование пакета SOAP - Node JS завершается с ошибкой импорта в AWS Lambda - PullRequest
0 голосов
/ 12 февраля 2020

Моя лямбда-функция работает на Node JS 10.x. Попытка потребовала soap npm модуля, но он завершился неудачей со следующей ошибкой.

{
  "errorType": "Runtime.ImportModuleError",
  "errorMessage": "Error: Cannot find module 'soap'",
  "trace": [
    "Runtime.ImportModuleError: Error: Cannot find module 'soap'",
    "    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:45:30)",
    "    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 Function.Module.runMain (internal/modules/cjs/loader.js:831:12)",
    "    at startup (internal/bootstrap/node.js:283:19)"
  ]
}

Пробовал искать в нескольких темах, но не повезло. Имя файла - index. js, а имя обработчика - index.handler, если эта информация помогает.

1 Ответ

0 голосов
/ 22 апреля 2020

Проблема была связана со структурой папок и настроенными зависимостями. Поскольку модуль 'soap' является дополнительным пакетом, который отсутствует в библиотеках AWS SDK для JavaScript. Я устанавливаю его локально с npm и включаю его в пакет развертывания. Затем обновил лямбда-функцию, используя AWS SDK.

См. Это - https://docs.aws.amazon.com/lambda/latest/dg/nodejs-package.html#nodejs -package-dependencies

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...