Zappa deployment error : GET request yields 502 response code
Zappa deployment error : GET request yields 502 response code
我正在尝试部署第一个用 Flask-Ask 构建的 zappa 示例应用程序,看起来一切正常,但在部署 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()
- 使用的 Zappa 版本:0.46.1
- 操作系统和Python版本:Windows7,Python3.6
有人可以帮我解决这个问题吗?
尝试在您使用 zappa 的虚拟环境中使用 pip 安装所有依赖项。它适用于我的情况。
您也可以使用 zappa tail
命令查看您的日志。
我有同样的问题。花了几个小时后,我从 cloudwatch 日志中注意到 sec 证书的错误。由 运行 "pip install 'cryptography<2.2'"
解决
这个github issue好像有同样的症状。
降级到 zappa==0.45.1
为我解决了这个问题
当我将模块化路径提供给应用程序 main.py
时,我遇到了这个错误。
我通过在 main.py
旁边创建一个名为 main.app
的空文件并在 zappa_settings.json
.[=16 中将 app_function
设置为 main.app
来修复它=]
完全不知道下面发生了什么,但这对我有用。
我遇到了同样的错误,与上面的 ScottieB 发生的情况相同,原因是我忘记为我的 .app 使用的一个包执行 pip 安装...在我本地执行 pip 安装之后项目环境然后做了 zappa update dev
错误消失了!并更新完成。
如果您使用的是 anaconda,那么请在您的项目目录和 Scripts/activate 中创建一个新的虚拟环境 "virtualenv lambda"。比使用 "conda deactivate" 停用 conda 环境并 pip 安装所有包 "pip install numpy pandas sklearn zappa flask".
PS:使用"slim_handle"=true也会出现这个错误,所以不要使用它。
如果以上方法都不行可以通过这种方式解决
- 首先通过
zappa tail [app name]
检查应用程序日志解决所有错误,如果有的话
那么,
您必须在 zappa_settings.json
中提供 "app_function"
参数,该参数应指向您的入口函数。如果应用程序是 Flask __init__.application
,则应像这样提供 app_function,因此 Flask 应用程序应定义为 application
,如下所示,
application = Flask(__name__)
app.py 应该是 __init__.py
您必须添加 __init__.py
才能将您的项目文件夹识别为包。
所以 zappa_settings.json
有这样的参数,
"app_function": "__init__.application",
部署并享受!
我也遇到了同样的错误,经过多次网上搜索并尝试了很多很多建议,这实际上只是代码缩进的一个小问题! Zappa 配置或 pip 安装完全没有问题。
我注意到在您的代码示例中您根本没有缩进代码。我不知道这是复制粘贴到 Whosebug 中的方式,还是您无意中尝试部署它的方式。应该是
@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()
我遇到了同样的错误。
检查你已经在你的 venv 中安装了 zappa。
我已经在全球范围内安装并在本地 venv 中安装了 运行。当我安装 zappa 时,它运行完美。
我遇到了同样的问题,我发现 zappa 是在我的系统上全局安装的,而不是在我正在使用的虚拟环境中。
尝试在虚拟环境中安装 zappa
pip install zappa
我是 运行 一个烧瓶应用程序,忘记在我的应用程序中包含以下声明。
if __name__ == '__main__': app.run()
添加此行后,它开始正常工作。
我正在尝试部署第一个用 Flask-Ask 构建的 zappa 示例应用程序,看起来一切正常,但在部署 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()
- 使用的 Zappa 版本:0.46.1
- 操作系统和Python版本:Windows7,Python3.6
有人可以帮我解决这个问题吗?
尝试在您使用 zappa 的虚拟环境中使用 pip 安装所有依赖项。它适用于我的情况。
您也可以使用 zappa tail
命令查看您的日志。
我有同样的问题。花了几个小时后,我从 cloudwatch 日志中注意到 sec 证书的错误。由 运行 "pip install 'cryptography<2.2'"
解决这个github issue好像有同样的症状。
降级到 zappa==0.45.1
为我解决了这个问题
当我将模块化路径提供给应用程序 main.py
时,我遇到了这个错误。
我通过在 main.py
旁边创建一个名为 main.app
的空文件并在 zappa_settings.json
.[=16 中将 app_function
设置为 main.app
来修复它=]
完全不知道下面发生了什么,但这对我有用。
我遇到了同样的错误,与上面的 ScottieB 发生的情况相同,原因是我忘记为我的 .app 使用的一个包执行 pip 安装...在我本地执行 pip 安装之后项目环境然后做了 zappa update dev
错误消失了!并更新完成。
如果您使用的是 anaconda,那么请在您的项目目录和 Scripts/activate 中创建一个新的虚拟环境 "virtualenv lambda"。比使用 "conda deactivate" 停用 conda 环境并 pip 安装所有包 "pip install numpy pandas sklearn zappa flask".
PS:使用"slim_handle"=true也会出现这个错误,所以不要使用它。
如果以上方法都不行可以通过这种方式解决
- 首先通过
zappa tail [app name]
检查应用程序日志解决所有错误,如果有的话
那么,
您必须在 zappa_settings.json
中提供 "app_function"
参数,该参数应指向您的入口函数。如果应用程序是 Flask __init__.application
,则应像这样提供 app_function,因此 Flask 应用程序应定义为 application
,如下所示,
application = Flask(__name__)
app.py 应该是 __init__.py
您必须添加 __init__.py
才能将您的项目文件夹识别为包。
所以 zappa_settings.json
有这样的参数,
"app_function": "__init__.application",
部署并享受!
我也遇到了同样的错误,经过多次网上搜索并尝试了很多很多建议,这实际上只是代码缩进的一个小问题! Zappa 配置或 pip 安装完全没有问题。
我注意到在您的代码示例中您根本没有缩进代码。我不知道这是复制粘贴到 Whosebug 中的方式,还是您无意中尝试部署它的方式。应该是
@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()
我遇到了同样的错误。 检查你已经在你的 venv 中安装了 zappa。 我已经在全球范围内安装并在本地 venv 中安装了 运行。当我安装 zappa 时,它运行完美。
我遇到了同样的问题,我发现 zappa 是在我的系统上全局安装的,而不是在我正在使用的虚拟环境中。
尝试在虚拟环境中安装 zappa
pip install zappa
我是 运行 一个烧瓶应用程序,忘记在我的应用程序中包含以下声明。
if __name__ == '__main__': app.run()
添加此行后,它开始正常工作。