腾讯云Serverless部署Flask应用

一、说明

网上很多例子都是基于单脚步 (即项目都在一个文件中, 如 app.py ), 但是我们在实际项目开发中应该都是使用包来组织程序, 因此我这里使用包的项目来部署到腾讯云 Serverless 平台.

二、操作

1.项目准备

本地编写的 Flask 项目(代码可参考 Flask 入门教程-李辉).

腾讯云Serverless部署Flask应用

腾讯云Serverless部署Flask应用
腾讯云Serverless部署Flask应用

注意这里的项目名为 nowax, 而不是 app

2.部署

详细步骤可参考 腾讯云文档的控制台部署指南.

腾讯云Serverless部署Flask应用

注意查看部署日志, 稍后可收到部署成功的提示.

3.访问应用 ( 发现问题 )

部署成功后, 点击[访问应用]发现提示错误.

腾讯云Serverless部署Flask应用

import app  # Replace with your actual application\nModuleNotFoundError: No module named 'app'",

根据此提示可以大致分析出是没有找到 app这个模块, 但是我实际的项目名是 nowax.

然后我们打开云函数查看我们上传的代码, 可以在 sl_handler.py 文件中看到默认 import 的是 app 模块, 而我们的是 nowax模块, 所以解决方法无非两种:

腾讯云Serverless部署Flask应用
腾讯云Serverless部署Flask应用

  • 方法1. 直接在云函数中修改

这里修改后下次更新我们的代码因为不会覆盖 sl_handler.py, 所以后续更新也不会有影响.

腾讯云Serverless部署Flask应用

  • 方法2. 修改项目名

如果我们的项目名就是 app, 那么我们以后就不需要在部署后再做修改了.

腾讯云Serverless部署Flask应用

修改之后我们更新代码重新部署即可正常访问应用.

三、参考

上一篇:构建 Serverless 功能的框架 OpenFaaS


下一篇:如何评估Serverless服务能力,这份报告给出了40条标准