无服务函数也许是近来较为热门的一个东西。由于我没得信用卡,无奈只好在阿里云上小试一番。
但我惊奇的发现,如果使用flask等支持WSGI的Web框架去写一个无服务函数,是没办法直接用阿里云的API网关去调用函数的。因为网关为了通用性,它不可能一个个协议去做适配。
那么我为了方便开发与使用,创造了Aliyun Gateway Interface(aligi)。
如何使用
按例,pip install aligi
安装一下。
WSGI
对于Flask、Django等支持WSGI的项目,使用起来很简单。
from aligi.wsgi import WSGI
# 阿里云无服务函数的入口
handler = WSGI(APP)
其中APP
使用自己的项目的WSGI Application代替即可。
一般来说,flask中的Application就是Flask(__name__)
的实例;django的Application则在项目的wsgi.py
文件中。
不需要对原始代码做任何修改!你就可以将项目放上无服务函数,配合 API 网关,上线项目了!