An open API service indexing awesome lists of open source software.

https://github.com/abersheeran/aligi

为阿里无服务函数提供API网关的协议解析
https://github.com/abersheeran/aligi

wsgi

Last synced: 6 months ago
JSON representation

为阿里无服务函数提供API网关的协议解析

Awesome Lists containing this project

README

          

# aligi

Aliyun Gateway Interface

为无服务函数计算作为阿里云 API 后端运行提供转析,并且允许同一个无服务函数既支持 HTTP 触发器,也支持作为 API 网关的后端服务。

## 为什么会有这个库?

使用 Flask,Django 等支持标准 WSGI 协议的 Web 框架创建无服务函数时,使用HTTP触发器才能让它们正常运行。

但如果想使用无服务函数作为阿里云 API 网关的后端时,则无法直接使用这些函数,只能通过网络调用,这显然是不够高效、并且费钱的。

## 如何安装

在项目根目录下执行

```
pip install -t . aligi
```

## 如何使用

以下为一个最小的 Flask 样例

```python
from flask import Flask
from aligi import WSGI

app = Flask(__name__)

@app.route("/")
def hello_world():
return "Hello, World!"

# 阿里云无服务函数的入口
handler = WSGI(app)
```

其中`app`可以是任意一个标准 WSGI Application。

在 Django 项目中,它一般在项目的`wsgi.py`里。

## 参考文档

阿里云文档:

- [HTTP 触发器](https://help.aliyun.com/document_detail/74756.html?spm=a2c4g.11186623.2.29.4a4b6482rl6rYZ#h2--http-2)

- [API 网关触发器](https://help.aliyun.com/document_detail/74800.html?spm=a2c4g.11186623.6.696.24bd2ebcuaTlC2)