Я хотел следовать этим советам
и просто переустановите мою функцию, поскольку serverless.yml
не был изменен.
Однако он просто зависает на этапе Serverless: Uploading function
. Навсегда, видимо.
Все развертывание (с sls deploy
) работает, хотя и медленно.
Как можно отладить это, поскольку, по-видимому, нет сообщения об ошибке?
ИЗМЕНИТЬ
Когда я использую sls deploy
, мой проект занимает около 4 минут и 15 секунд для развертывания.
Мне кажется довольно длинным, поэтому я решил использовать вместо этого sls deploy function -f myFunction
, который должен быть намного быстрее.
Однако, когда я пытаюсь sls deploy function -f myFunction
, он, кажется, вечно вешает на Serverless: Uploading function: myFunction
.
Я не знаю, как отладить это.
Кажется, что используется 'verbose', с Serverless: Uploading function: myFunction --verbose
не имеет значения, возвращаемые сообщения одинаковы.
Я постараюсь подождать и посмотреть, завершится ли, наконец, развертывание функции...
Ну, я ждал, и это не так: примерно через 8 минут 30 секунд я получаю следующее сообщение об ошибке:
Безсерверная ошибка --------------------------------------- Время установления соединения после 120000 мс Получать поддержку -------------------------------------------- Документы: docs.serverless.com Ошибки: github.com/serverless/serverless/issues Форумы: forum.serverless.com Чат: gitter.im/serverless/serverless Информация о вашей среде ----------------------------- ОС: Linux Node Версия: 7.10.0 Версия без сервера: 1.20.2
Другая странность: при подвешивании она читает:
Без сервера: функция загрузки: myFunction (12.05 MB)...
Но сама функция составляет всего 3,2 кБ и не включает никаких пакетов.
Когда я использую sls deploy
, отображаемый размер тот же:
Безсерверный: загрузка ZIP файла службы на S3 (12.05 MB)...
Что может быть неправильно при развертывании моей функции?
ИЗМЕНИТЬ 2
Как подсказывает @dashmug, в serverless.yml
есть проблема с конфигурацией.
В директории functions
моего безсерверного проекта я хотел бы иметь общие package.json
и node_modules
. Затем каждая функция могла импортировать модули по мере необходимости.
Я попытался следовать официальному руководству.
Мой serverless.yml
выглядит так:
functions:
myFunction:
package:
exclude:
- 'functions/node_modules/**'
- '!functions/node_modules/module1_I_want_to_include/**'
- '!functions/node_modules/module2_I_want_to_include/**'
Теперь я получаю с sls deploy
:
Безсерверный: загрузка .zip файла службы на S3 (31.02 MB)...
и функция работает:)
Однако, с sls deploy function -f myFunction
, я получаю:
Без сервера: функция загрузки: отправка (1.65 МБ)...
Он загружается в разумные сроки, но теперь функция дает следующую ошибку:
Невозможно импортировать функции модуля /myFunction ': Ошибка