Безсерверное развертывание Lambda в node8.10 без загрузки кода - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть лямбда-функция, развернутая с помощью Serverless.Он был развернут с node6.10 средой выполнения, поэтому я решил вместо этого развернуть службу с node8.10.

Однако после этого повторного развертывания я столкнулся со странной проблемой, когда не мог вызвать функцию и не могболее длительное развертывание обновлений для функции, так как размер файла был слишком большим (60 МБ +).Я смог решить эту проблему, удалив и переустановив serverless-plugin-optimize.

. Это решило проблему размера файла (теперь это около 2 МБ), но я все еще не могу вызвать функцию.Попытка вызвать его приводит к следующему журналу в CloudWatch:

Unable to import module 'lambda/index': Error
  at Function.Module._resolveFilename (module.js:547:15)
  at Function.Module._load (module.js:474:25)
  at Module.require (module.js:596:17)
  at require (internal/module.js:11:18)

Тогда я ожидал, что путь к файлу в моем serverless.yml для функции был неправильным или что он не экспортировался правильно.

. / Serverless.yml

functions:
  funcOne:
    handler: lambda/index.handler

. / Lambda / index.js

exports.handler = function (event, context) {

// execution code

};

Однако это не отображаетсяв данном случае я знаю это, потому что установка debug: true для serverless-plugin-optimize оставляет папку _optimize с моим минимизированным кодом. Однако почему-то, несмотря на то, что он присутствует локально, кажется, что он не выполняет загрузку в Lambda.

При просмотре этого в консоли AWS я получаю следующее:

2,6 Мб загрузки в списке в каталоге Lambda:

2.6mb upload listed in Lambda directory

Ошибка в редакторе кода консоли Lambda Could not open file: /lambda/index.js

60 МБ Файл, все еще перечисленный в области развертывания S3 60mb file still listed in S3 deployment bucket

Я не могу объяснить, почему у меня возникает эта проблема или что из-за перехода на node8.10 может вызвать ее,За пределами файла serverless.yml ни один код не был изменен из рабочей версии node6.10.Кто-нибудь сталкивался с этой проблемой раньше или знает что-нибудь, что могло бы исправить это?

1 Ответ

0 голосов
/ 28 сентября 2018

Я успешно решил эту проблему.Я не знаю, почему это так, но проблема, похоже, заключалась в развертывании на node8.10 с использованием более старой версии Serverless (1.27.2).Обновление до последней версии Serverless (1.32.0) исправило это немедленно.

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