Наскоро попаднах на удивителната AWS Lambda без сървър и си помислих, че би било страхотно да имам приложението си там и да не се налага да се тревожа за автоматично мащабиране, балансиране на натоварването и всичко това за очевидно малка част от цената.
Тогава разбрах за Zappa, който се грижи за внедряването на вашето приложение на python в AWS Lambda вместо вас. Удивително е това, което си помислих.
Всъщност на хартия е много лесно да се направи. просто следвайте инструкциите тук.. https://github.com/Miserlou/Zappa
Както и да е, следвах инструкциите само с много основно приложение за django, използвайки virtualenv, което просто съдържаше урока за рамката за почивка на django в него.. Тествах го локално и работи добре.
След това настроих своята s3 кофа и удостоверих идентификационните си данни с awscli.
След това стартирах 2-те неща, които трябва да разпределите. Zappa init, Zappa разгръщане dev.
След това премина през всичките си процеси, опаковане в zip, внедряване и т.н.
След това в края каза, че приложението ви е на живо и ето URL адреса. Даде ми URL адрес, който да опитам. Поставих URL адреса в браузъра и това е, което браузърът ми показа. О, да, и кофата ми s3 все още е празна, както и услугата ми aws lambda.
{
"message": "An uncaught exception happened while servicing this request.",
"traceback": [
"Traceback (most recent call last):\n",
" File \"/var/task/handler.py\", line 395, in handler\n response = Response.from_app(self.wsgi_app, environ)\n",
" File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/wrappers.py\", line 865, in from_app\n",
" File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/wrappers.py\", line 57, in _run_wsgi_app\n",
" File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/test.py\", line 871, in run_wsgi_app\n",
"TypeError: 'NoneType' object is not callable\n"
]
}
Ако някой има някакви идеи ще съм много благодарен. Бих искал да накарам това да работи. Това би било невероятно мощен ресурс.