首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >部署到Elastic Beanstalk的Flask应用程序的任何路由上的404

部署到Elastic Beanstalk的Flask应用程序的任何路由上的404
EN

Stack Overflow用户
提问于 2018-05-24 01:47:24
回答 1查看 689关注 0票数 3

我正在尝试托管一个Flask应用程序,该应用程序通过eb cli在Elastic Beanstalk上使用Flask-RESTful实现REST API。我已经成功地部署了我的应用程序,并且在我的事件日志中没有收到任何错误消息。我可以成功地通过ssh进入实例并运行脚本来预先填充我的数据库和所有内容。但是每当我尝试访问任何路由时,我总是得到一个404错误。

我最初认为这是因为它找不到我的WSGIPath,所以我将文件名改为application.py,并更新EBS软件配置以指向该文件。我还根据亚马逊网络服务文档将代码库中的所有app实例更新为application。还是一无所获。有谁知道可能出了什么问题吗?

这是我的application.py

代码语言:javascript
复制
from flask import Flask

from config import Config

CONFIG = Config()

# AWS Elastic Beanstalk expects an `application` variable.
application = Flask(__name__)

if __name__ == "__main__":
    # Importing these here to avoid issue with circular imports
    from endpoints.v1.exports import exports_api
    from endpoints.v1.imports import imports_api

    application.register_blueprint(exports_api, url_prefix="/api/v1")
    application.register_blueprint(imports_api, url_prefix="/api/v1")

    application.run(debug=CONFIG.DEBUG)

下面是application.py文件在文件夹结构中的位置:

代码语言:javascript
复制
- project root
    - ...
    - application.py
    - ... 
EN

回答 1

Stack Overflow用户

发布于 2018-05-24 11:04:23

我才意识到发生了什么。我正在尝试注册if __name__ == "__main__":块中的设计图。但是由于application.py文件不是由Elastic Beanstalk直接运行的,所以它永远不会到达这些行,所以我试图访问的端点并不存在。

我不得不重构我的代码,这样我就可以将它移出该块,并避免循环导入的问题,但现在一切都正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50494512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档