我正在尝试部署使用Flask-Ask构建的第一个zappa示例应用程序,看起来一切正常,但是在Deploying API语句之后,出现以下错误:
错误:警告!部署的lambda的状态检查失败。对“ /”的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()
有人可以帮我吗?
答案 0 :(得分:2)
尝试在使用zappa的虚拟环境中使用pip安装所有依赖项。就我而言,它奏效了。
您还可以使用zappa tail
命令查看日志。
答案 1 :(得分:1)
此github issue似乎具有相同的症状。
降级为zappa==0.45.1
可以为我解决
答案 2 :(得分:1)
如果使用的是anaconda,则在项目目录和“脚本/激活”中创建一个新的虚拟环境“ virtualenv lambda”。比使用“ conda deactivate”停用conda环境,然后pip安装所有软件包“ pip install numpy pandas sklearn zappa flask”。
PS:使用“ slim_handle” = true也会出现此错误,因此请不要使用它。
答案 3 :(得分:1)
如果以上所有方法均无效,则可以通过这种方式解决。
zappa tail [app name]
检查应用日志来解决所有错误然后,
您必须在"app_function"
中提供zappa_settings.json
参数,该参数应指向您的输入函数。如果应用程序为Flask __init__.application
,则应按以下方式提供app_function,因此烧瓶应用程序应按以下方式定义为application
,
application = Flask(__name__)
app.py应该为__init__.py
您必须添加__init__.py
才能将项目文件夹识别为包。
因此zappa_settings.json
具有这样的参数
"app_function": "__init__.application",
部署并享受吧!
答案 4 :(得分:0)
我有同样的问题。花了几个小时之后,从cloudwatch日志中,我注意到sec证书的错误。通过运行“ pip install'cryptography <2.2'”解决了该问题
答案 5 :(得分:0)
当我将应用程序的模块化路径指定为main.py
时,我遇到了这个错误。
我通过在main.app
旁边创建一个名为main.py
的空文件并将app_function
中的main.app
设置为zappa_settings.json
来修复它。
绝对不知道下面发生了什么,但这对我有用。
答案 6 :(得分:0)
我遇到了同样的错误,与上面的ScottieB一样,原因是我忘记为.app使用的一个软件包进行pip安装...在项目中本地完成pip安装后然后环境zappa update dev
消失了!并完成更新。
答案 7 :(得分:0)
我也遇到了同样的错误,经过多次在线搜索并尝试了许多建议之后,实际上这只是代码缩进的一个小问题! 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()
答案 8 :(得分:0)
我遇到了同样的错误。 检查您是否已在Venv中安装了zappa。 我已经全局安装并在本地venv中运行。当我安装zappa时,它运行完美。
答案 9 :(得分:0)
我遇到了同样的问题,我发现zappa是全局安装在系统上的,而不是在我所使用的虚拟环境中的。
尝试在虚拟环境中安装zappa
pip install zappa
答案 10 :(得分:0)
我正在运行一个 Flask 应用程序,但忘记在我的应用程序中包含以下语句。
if __name__ == '__main__': app.run()
添加此行后,它开始正常工作。 ?