Почему функция Serverless Node 8 работает локально, но не работает в AWS без сообщений об ошибках? - PullRequest
0 голосов
/ 05 июня 2018

Я пишу функцию для развертывания в AWS Lambda с использованием узла 8 (это OSS, посмотрите: https://github.com/hacksecure/utility-serverless-functions). Она отлично работает на локальном (npm run dev), но при развертывании (npm run deploy)все, что я получаю, это внутренняя ошибка сервера, когда я делаю GET-запрос. Журналы Cloudwatch не имеют ничего, кроме журналов, показывающих, что запрос запущен, завершен, и спецификаций по выставлению счетов. Проблема выглядит аналогично этому, но закрепление моей версии Serverless до 1.25.x (как вы можете видеть в package.json) ничего не сделал. У меня не установлено без сервера глобально, поэтому я знаю, что нет никакого странного конфликта версий.

Я не могу найти хороших примеров чего-либо, кромеПростейшие лямбда-функции, основанные на Promise, поэтому вполне возможно, что в моем коде есть какой-то недостаток, который без-серверный-автономный не сможет обнаружить. Мое предположение заключается в том, что эта проблема либо связана с версией моего локального узла (которая выше, чем Node).8 LTS, который использует AWS) или что-то в моем стеке AWS CloudFormation, которое не эмулируется в автономном режиме.ошибка, вызванная более старой версией Node, будет что-то регистрировать, я думаю, что ошибка связана с API-шлюзом.Это чистая гипотеза, и у меня нет хорошего способа проверить это.

1 Ответ

0 голосов
/ 06 июня 2018

Проблема заключалась в том, что AWS автоматически не вызывал JSON.stringify() в ответе, а был подключен автономный плагин без сервера.Я все еще не уверен, почему это привело бы к ошибке без лога, но это определенно исправляет это.

...