Python Flask web 项目零改动迁移至阿里云函数计算

本文涉及的产品
简介: 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算。

引言

最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算。

创建一个银行卡校验的 RestAPI

文件名:index.py
代码:

# -*- coding: utf-8 -*-

from flask import request, jsonify, Flask
from fishbase.fish_data import CardBin

app = Flask(__name__)


@app.route("/")
def bankcard_check():
    req_param = request.args
    try:
        bankcard = req_param["bankcard"]
    except KeyError as _:
        res_error = {"error": "银行卡号为空"}
        return jsonify(res_error), 400

    is_true = CardBin.check_bankcard(bankcard)
    result_desc = "银行卡校验通过" if is_true else "银行卡校验失败"
    return jsonify({"result": result_desc})


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

这里银行卡校验的功能,用到了一个很好的 Python 函数包 fishbase ,里面还有很多很多好用的东西。

安装依赖:

pip install -t . flask fishbase

通过这种方式安装依赖,会把所有的依赖包下载到当前目录,如下:

image

启动服务:

# 通过 Python 直接启动
python index.py
# 或者通过 gunicorn 启动
gunicorn index:app

image

本地测试(以 gunicorn 启动为例,默认端口 8000):
image

至此,我们已经在本地创建了一个“银行卡校验的” RestAPI ,接下来我们把这个 API 迁移至阿里云函数计算

创建函数计算服务

这里就不过多介绍,参考阿里云官网文档即可,详见:https://help.aliyun.com/document_detail/74756.html

  • 创建服务
    image
  • 创建函数 ( python3,空白模板)
    image
  • 创建 HTTP 触发器
    image
  • 配置函数入口
    image
  • 权限配置(直接“下一步”)
  • 信息核对
    image
  • 创建
  • 在线调试
    image

费用说明

参考 https://help.aliyun.com/document_detail/54301.html

  • 调用次数费用
  • 执行时间费用
  • 网络费用为标准费用(同 ECS 等)。

示例:

假设一个函数每次调用的平均时间为 0.1 秒,占用的内存为 128MB, 调用 100 万次的费用约为 2.7185元

免费额度

参考: https://help.aliyun.com/document_detail/54301.html#Free
image

总结

费用低,改造成本较低,对于 Python Flask 的纯 API 项目(含所有依赖包,总工程 50M 以内的),无需做任何改造即可使用函数计算服务。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
21天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
112 1
|
10天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
1天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
9 0
|
4天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
8天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
17天前
|
机器学习/深度学习 分布式计算 数据挖掘
阿里云 MaxCompute MaxFrame 开启免费邀测,统一 Python 开发生态
阿里云 MaxCompute MaxFrame 正式开启邀测,统一 Python 开发生态,打破大数据及 AI 开发使用边界。
196 1
|
17天前
|
数据采集 Java API
python并发编程: Python使用线程池在Web服务中实现加速
python并发编程: Python使用线程池在Web服务中实现加速
17 3
python并发编程: Python使用线程池在Web服务中实现加速
|
20天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
1月前
|
存储 前端开发 JavaScript
强烈推荐一个Python库!制作Web Gui也太简单了!
强烈推荐一个Python库!制作Web Gui也太简单了!