Бессерверное развертывание в Windows
У меня возникла проблема с развертыванием без сервера на моем компьютере разработчика. Это ошибка, которую я получил:
Это моя безсерверная конфигурация файла yml:
service: serverless-flask
plugins:
- serverless-python-requirements
- serverless-wsgi
custom:
wsgi:
app: myapp.views:app
packRequirements: false
pythonRequirements:
dockerizePip: true
provider:
name: aws
runtime: python3.6
stage: dev
region: ap-southeast-1
functions:
app:
handler: wsgi.handler
events:
- http: ANY /
- http: 'ANY {proxy+}'
Любая идея, какую конфигурацию я должен использовать для запуска команды serverless deploy с приложением python flask?
Спасибо
0 ответов
Я предлагаю несколько вещей.
- Используйте Python 3.7 вместо 3.6. Лямбда теперь поддерживает эту среду.
- Обновите ваши инструменты настройки пипса с
pip install --upgrade setuptools
- Установите инструменты сборки C++ по https://visualstudio.microsoft.com/visual-cpp-build-tools/
Если ничего из этого не работает, включите SLS_DEBUG=*. В Powershell вы делаете это с $env:SLS_DEBUG="*"
, И снова запустите развертывание, чтобы увидеть более описательную ошибку.
Я не знаю наверняка, сможете ли вы использовать pip для развертывания без сервера AWS. У меня есть некоторые приложения без сервера, и я должен поместить в корневую папку свои зависимости.
Вы должны запустить:
pip install --install-option="--prefix=$PREFIX_PATH" package_name
Итак, когда у вас есть это в корне, вам не нужно запускать pip.
Также вы можете найти другие шаги в AWS Docs: AWS Deployment Lambdas
Очевидно, что это документация по лямбде, но без слов сервер создает лямбда-функции с конечными точками шлюза API через настройки CloudFormation.
Надеюсь, поможет!