Python Zappa部署错误:获取请求产生502响应代码

Python Zappa部署错误:获取请求产生502响应代码,python,amazon-web-services,aws-lambda,zappa,flask-ask,Python,Amazon Web Services,Aws Lambda,Zappa,Flask Ask,我正在尝试部署第一个使用Flask Ask构建的zappa示例应用程序,看起来一切正常,但在部署API语句后,我出现以下错误: 错误:警告!对已部署lambda的状态检查失败。对“/”的GET请求 生成了502响应代码 下面是我正在执行的代码,对示例应用程序做了一些小改动 from flask import Flask from flask_ask import Ask, question, statement, session import pyodbc app = Flask(name)

我正在尝试部署第一个使用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版本:Windows 7、Python 3.6

有人能帮我一下吗?

尝试在使用zappa的虚拟环境中使用pip安装所有依赖项。在我的情况下是有效的


您还可以使用
zappa tail
命令查看日志。

我也遇到了同样的问题。在花了几个小时之后,我从cloudwatch日志中注意到sec证书的错误。通过运行“pip安装”密码解决了这个问题这似乎有同样的症状。
降级到
zappa==0.45.1
为我解决了这个问题

当我将应用程序的模块化路径指定为
main.py
时,我遇到了这个错误

我通过在
main.py
旁边创建一个名为
main.app
的空文件,并在
zappa\u settings.json
中将
app\u函数设置为
main.app
来修复它


绝对不知道下面发生了什么,但它对我起了作用。

我遇到了同样的错误,上面ScottieB也发生了同样的错误,原因是我忘了为我的.app正在使用的一个包安装pip…在我在项目环境中本地安装了pip之后,然后执行了
zappa update dev
错误或已消失!更新已完成。

如果您正在使用anaconda,请在项目目录和Scripts/activate中创建一个新的虚拟环境“virtualenv lambda”。然后使用“conda deactivate”停用conda环境,并使用pip安装所有软件包“pip install numpy zappa flask”


PS:使用“slim\u handle”=true也会产生此错误,所以不要使用它。

如果以上所有方法都不起作用,您可以用这种方法解决

  • 如果您有任何错误,请首先通过
    zappa tail[app name]
    检查应用程序日志来解决所有错误
那么, 您必须在
zappa_settings.json
中提供
“app_function”
参数,该参数应指向您的输入函数。如果应用程序是Flask
\uu init\uuuu.application
,则app_函数应像这样提供,因此Flask app应定义为
application
,如下所示:

application = Flask(__name__)
app.py应该是
\uuuu init\uuuu.py
您必须添加
\uuuu init\uuuu.py
,才能将项目文件夹识别为包。 所以
zappa_settings.json
有这样的参数

“应用程序功能”:“\uuuu初始化\uuuu.application”,


部署并享受!

我遇到了同样的错误,在进行了许多在线搜索并尝试了许多建议之后,这实际上只是代码缩进的一个小问题!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()
我也犯了同样的错误。 检查您是否已在venv中安装zappa。
我已经在全球范围内安装并在本地venv中运行。当我安装zappa时,它工作得非常完美。

我遇到了同样的问题,我发现zappa是在我的系统上全局安装的,而不是在我使用的虚拟环境中

尝试在虚拟环境中安装zappa

pip install zappa

请您一次对示例应用程序进行一次更改,然后找出导致您出现问题的一行代码好吗?引入一个完整的新库并不是一个很小的更改--特别是,添加Alexa意味着可能会有一整套权限发挥作用。您是否查看了Cloudwatch日志?很好的建议!我可以看到错误as:pyodbc.Error:('01000',“[01000][unixODBC][Driver Manager]无法打开库'ODBC Driver 11 for SQL Server':找不到文件(0)(SQLDriverConnect)”)同样的代码也适用于我的本地环境,但如果有帮助,我觉得自己像个白痴。我忘记了pip安装flask。不确定它在本地是如何工作的…
flask
肯定是由另一个软件包在系统范围内安装的