Импорт модуля через AWS Lambda Console Editor - PullRequest
0 голосов
/ 23 мая 2019

Опробование приложения в NodeJS.Выполните следующие операции импорта

var https = require('https'),
    aws4  = require('aws4')

Однако получите сообщение об ошибке

"errorType": "Runtime.ImportModuleError", "errorMessage": "Error: Cannot find module 'aws4'",

Код работает при локальном выполнении на рабочем столе после установки aws4 с использованием npm install aws4.Как установить модуль при редактировании лямбда-скрипта в консольном редакторе ламбда aws?

1 Ответ

2 голосов
/ 23 мая 2019

Вы не можете добавлять модули из консоли Lambda. Вам придется использовать менеджер пакетов (например, npm или yarn ) и установить необходимые зависимости. Это означает объявить их в package.json и запустить npm/yarn install перед загрузкой своей функции в AWS Lambda. Папка node_modules будет создана со всеми упакованными зависимостями внутри нее. Заархивируй и загрузи.

Ваш package.json должен выглядеть примерно так:

{
  "name": "your-project",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "aws4": "^1.8.0",
    "https": "^1.0.0"
  }
}

Если вы хотите упростить жизнь при развертывании, вы можете взглянуть на AWS SAM и Serverless Framework .

Имейте в виду, что если ваш пакет слишком велик (и слишком велик, для консоли AWS только 2 МБ 3 МБ в соответствии с документами ) после добавления зависимостей вы можете потерять возможность редактировать код, встроенный в консоль AWS, что означает, что вам придется использовать свой собственный редактор / IDE для редактирования кода перед его загрузкой.

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