AberSheeran
Aber Sheeran
I know nothing except the fact of my ignorance.

Aligi

起笔自
所属文集: Python-Package
共计 643 个字符
落笔于

无服务函数也许是近来较为热门的一个东西。由于我没得信用卡,无奈只好在阿里云上小试一番。

但我惊奇的发现,如果使用flask等支持WSGI的Web框架去写一个无服务函数,是没办法直接用阿里云的API网关去调用函数的。因为网关为了通用性,它不可能一个个协议去做适配。

那么我为了方便开发与使用,创造了Aliyun Gateway Interface(aligi)。

目前仅支持WSGI协议。后续为了Websocket,预计还会支持ASGI协议。

如何使用

按例,pip install aligi安装一下。

WSGI

对于Flask、Django等支持WSGI的项目,使用起来很简单。

from aligi.wsgi import WSGI

def handler(event, context):
    """阿里云无服务函数入口"""
    wsgi = WSGI(event, context)
    wsgi.mount(APP)
    return wsgi.get_response()

其中APP使用自己的项目的WSGI Application代替即可。

一般来说,flask中的Application就是Flask(__name__)的实例;django的Application则在项目的wsgi.py文件中。

不需要对原始代码做任何修改!你就可以将项目放上无服务函数,配合API网关,上线项目了!

如果你觉得本文值得,不妨赏杯茶
Python使用JWT
好看易用的命令行