【问题标题】:Zappa deployment error : GET request yields 502 response codeZappa 部署错误:GET 请求产生 502 响应代码
【发布时间】:2021-07-03 20:46:31
【问题描述】:

我正在尝试部署第一个使用 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()
  • 使用的 Zappa 版本:0.46.1
  • 操作系统和 Python 版本:Windows 7、Python 3.6

有人可以帮我吗?

【问题讨论】:

  • 能否请您对示例应用程序进行一次更改,然后找出导致您的问题的一行?引入一个全新的库并不是一个小改动——特别是,添加 Alexa 意味着有一整套权限可以发挥作用。您查看过您的 Cloudwatch 日志吗?
  • 不需要将app.run() 更改为app.run(host='0.0.0.0', port=80) 吗?

标签: python amazon-web-services aws-lambda zappa flask-ask


【解决方案1】:

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

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

【讨论】:

  • 好建议!我可以看到错误为: pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 11 for SQL Server' : file not found (0) (SQLDriverConnect) ") 相同的代码在我的本地环境中运行
  • 看看this answer有没有帮助
  • 哇,我觉得自己像个白痴。我忘了点安装烧瓶。不知道它在本地是如何工作的......
  • Flask 肯定是由另一个包安装的system-wide
【解决方案2】:

这个github issue 似乎有同样的症状。 降级到zappa==0.45.1 为我解决了这个问题

【讨论】:

    【解决方案3】:

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

    PS:使用“slim_handle”=true 也会出现这个错误,所以不要使用它。

    【讨论】:

      【解决方案4】:

      如果以上方法都不起作用,你可以通过这种方式解决。

      • 首先通过检查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",

      部署并享受!

      【讨论】:

        【解决方案5】:

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

        我通过在main.py 旁边创建一个名为main.app 的空文件并在zappa_settings.json 中将app_function 设置为main.app 来修复它。

        完全不知道下面发生了什么,但它对我有用。

        【讨论】:

          【解决方案6】:

          我有同样的问题。花了几个小时后,从 cloudwatch 日志中我注意到了 sec 证书的错误。通过运行“pip install 'cryptography

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              我遇到了同样的错误,经过多次在线搜索并尝试了很多很多建议,这实际上只是代码缩进的一个小问题! 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()
              

              【讨论】:

                【解决方案9】:

                我遇到了同样的错误。 检查你是否在你的 venv 中安装了 zappa。 我已经全局安装并在本地 venv 中运行。当我安装 zappa 时,它运行良好。

                【讨论】:

                  【解决方案10】:

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

                  尝试在虚拟环境中安装 zappa

                  pip install zappa
                  

                  【讨论】:

                    【解决方案11】:

                    我正在运行一个烧瓶应用程序,但忘记在我的应用程序中包含以下语句。

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

                    添加此行后,它开始正常工作。 ?

                    【讨论】:

                      猜你喜欢
                      • 2020-05-11
                      • 1970-01-01
                      • 2018-06-15
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2012-05-05
                      相关资源
                      最近更新 更多