Ошибка развертывания Zappa: запрос GET дает код ответа 502

Я пытаюсь развернуть первый пример приложения zappa, созданный с помощью Flask-Ask. Похоже, все работает хорошо, но после инструкции Deploying API я получаю следующую ошибку:

Ошибка: Внимание! Проверка состояния развернутой лямбды не удалась. Запрос GET к «/» дал код ответа 502.

Вот код, который я выполняю с небольшими изменениями в примере приложения

from flask import Flask
from flask_ask import Ask, question, statement, session
import pyodbc

app = Flask(name)
ask = Ask(app, '/')

@ask.intent('HelloIntent')
def hello(firstname):
speech_text = "Hello %s" % firstname
return statement(speech_text).simple_card('Hello', speech_text)

@ask.intent('ByeIntent')
def bye():
return statement("Ok, goodBye!")



if name == 'main':
app.run()
  • Используемая версия Zappa: 0.46.1
  • Операционная система и версия Python: Windows 7, Python 3.6

Может кто-нибудь, пожалуйста, помогите мне здесь?


person s_om    schedule 19.06.2018    source источник
comment
Не могли бы вы внести по одному изменению в пример приложения, а затем указать одну строку, которая вызывает вашу проблему? Представление совершенно новой библиотеки не является незначительным изменением — в частности, добавление Alexa означает, что есть целый набор разрешений, которые могут вступить в игру. Вы смотрели свои журналы Cloudwatch?   -  person David Bruce Borenstein    schedule 20.06.2018
comment
Не нужно ли менять app.run() на app.run(host='0.0.0.0', port=80)?   -  person Iron Pillow    schedule 26.07.2021


Ответы (11)


попробуйте установить все зависимости с помощью pip в виртуальной среде, где вы используете zappa. Это сработало в моем случае.

Вы также можете использовать команду zappa tail для просмотра журналов.

person Aman Agarwal    schedule 20.06.2018
comment
Хороший совет! Я вижу ошибку как: pyodbc.Error: («01000», [01000] [unixODBC] [Диспетчер драйверов] Не удается открыть lib «Драйвер ODBC 11 для SQL Server»: файл не найден (0) (SQLDriverConnect)) Тот же код работает в моей локальной среде, хотя - person s_om; 21.06.2018
comment
Посмотрите, поможет ли этот ответ - person Aman Agarwal; 21.06.2018
comment
Вау, я чувствую себя идиотом. Я забыл pip install flask. Не знаю, как это работало локально... - person ScottieB; 05.07.2018
comment
Flask определенно был установлен для всей системы другим пакетом - person freezed; 25.02.2019

Эта проблема с github похоже имеет те же симптомы. Понижение до zappa==0.45.1 решило это для меня

person zsoobhan    schedule 04.10.2018

Если вы используете anaconda, создайте новую виртуальную среду «virtualenv lambda» в каталоге вашего проекта и в Scripts/activate. Затем деактивируйте среду conda с помощью «conda deactivate» и pip установите все пакеты «pip install numpy pandas sklearn zappa flask».

PS: использование "slim_handle"=true также дает эту ошибку, поэтому не используйте ее.

person Saahil    schedule 25.04.2019

Если все вышеперечисленное не работает, вы можете решить это таким образом.

  • Сначала устраните все ошибки, проверив журнал приложения zappa tail [app name], если они у вас есть.

Затем вы должны указать параметр "app_function" в zappa_settings.json, который должен указывать на вашу функцию входа. Функция app_function должна быть предоставлена ​​​​таким образом, если приложение Flask __init__.application, поэтому приложение flask должно быть определено как application следующим образом:

application = Flask(__name__)

app.py должен быть __init__.py. Вы должны добавить __init__.py, чтобы распознать папку вашего проекта как пакет. Итак, zappa_settings.json имеет такой параметр,

"app_function": "__init__.application",

Разверните и наслаждайтесь!

person Dinuka Salwathura    schedule 01.02.2020

Я столкнулся с этой ошибкой, когда указал модульный путь к моему приложению как main.py.

Я исправил это, создав пустой файл с именем main.app рядом с main.py и установив app_function в main.app в zappa_settings.json.

Абсолютно не знаю, что произошло внизу, но это сработало для меня.

person Rishichandra Wawhal    schedule 21.11.2018

У меня была такая же проблема. Потратив пару часов, из журналов cloudwatch я заметил ошибку сертификата sec. Решил это, запустив "pip install 'cryptography‹2.2'"

person Nishank    schedule 14.07.2018

Я столкнулся с той же ошибкой, и то же самое произошло с ScottieB выше, причина в том, что я забыл выполнить установку pip для одного пакета, который использовало мое .app... После того, как я установил pip локально в среде проекта, затем сделал zappa update dev ошибка ушла! и обновление завершено.

person HassanSh__3571619    schedule 15.01.2019

У меня была такая же ошибка, и после многих онлайн-поисков и множества предложений, на самом деле это была просто небольшая проблема с отступом кода! Нет проблем с конфигурацией Zappa или установкой pip.

Я заметил, что в вашем примере кода вы вообще не сделали отступ. Я не знаю, так ли это было скопировано в StackOverflow, или это то, как вы непреднамеренно пытались его развернуть. Должен быть

@ask.intent('HelloIntent')
def hello(firstname):
    speech_text = "Hello %s" % firstname
    return statement(speech_text).simple_card('Hello', speech_text)

@ask.intent('ByeIntent')
def bye():
    return statement("Ok, goodBye!")


if name == 'main':
    app.run()
person SarahJessica    schedule 05.02.2020

Я получал ту же ошибку. проверьте, что вы установили zappa в свой venv. Я установил глобально и запускаю в локальном venv. Когда я установил Zappa, он работает идеально.

person manmohan    schedule 30.04.2020

Я столкнулся с той же проблемой, и я понял, что zappa установлен глобально в моей системе, а не в виртуальной среде, которую я использую.

попробуй установить zappa в виртуальную среду

pip install zappa
person Hamza Hassan    schedule 25.05.2020

Я запускал фляжное приложение и забыл включить в свое приложение следующий оператор.

if __name__ == '__main__': app.run()

после добавления этой строки он начал работать нормально. ????

person Kartik Gautam    schedule 03.07.2021