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

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 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 以内的),无需做任何改造即可使用函数计算服务。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
66 2
|
2天前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
46 33
|
14天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
49 2
|
20天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
1月前
|
运维 Serverless 测试技术
通义灵码 x 函数计算:构建高效开发流程,加速项目交付
本方案基于通义大模型的通义灵码,提供代码生成、补全、优化及单元测试生成等能力,提升编码效率和质量。结合云效和函数计算 FC 进行代码管理、持续集成、部署发布,加速项目交付,为开发者提供智能编码、CI/CD、部署上线体验,加快产品迭代速度。
|
2月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
34 4
|
2月前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
343 3
|
2月前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
115 3
|
3月前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
80 1