Развертывание приложения WSGi на AWS Lambda - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь развернуть приложение на основе WSGi, созданное с использованием Python, Flask, на AWS Lambda.

Но, похоже, что запрос выполняется в обоих направлениях, но когда запрос возвращается, модуль werkzeug не может вызвать LambdaContext: не вызываемый объект.

Объект 'LambdaContext' не может быть вызван: TypeError Traceback (последний вызов был последним): файл "/home/ubuntu/venv/local/lib/python2.7/site-packages/flask/app.py", строка 1997, в вызов Файл "/home/ubuntu/venv/local/lib/python2.7/site-packages/flask/app.py", строка 1989, в файле wsgi_app "/ tmp /pip-install-Xytrxp / Werkzeug / werkzeug / wrappers.py ", строка 1277, в call TypeError: объект 'LambdaContext' не вызывается

Я пытаюсь использовать сервер для развертывания, ноМоя проблема заключается в том, что когда я собираю пакет развертывания с использованием безсерверной системы, он выходит за пределы 250 МБ, что является пределом AWS Lambda

. Я собрал пакет с помощью Zappa, удалив некоторые ненужные файлы в пакетах Python иразмер этого составляет 248 МБ.Я могу использовать это для развертывания, но использование безсерверного развертывания вызывает проблемы.

Итак, кто-нибудь знает, что на самом деле делает сервер?Можем ли мы включить файлы serve.py и wsgi.py в пакет развертывания AWS Lambda?

Если да, какие еще изменения необходимы, чтобы иметь возможность просто добавить эти файлы python в пакет развертывания, чтобы приложение было перенесено на сервер.

1 Ответ

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

Я смог справиться с этим с помощью serverless-wsgi.Нам просто нужно включить файлы wsgi.py и .wsgi_app и поместить wsgi.handler в качестве обработчика лямбда-функции

...