API网关实战(实验手册)
获取更多课程代码包,请添加学院君微信(Tcloudedu)二维码在文档底部,回复关键字 “ 蓝鲸 ”
一、实验概述
蓝鲸应用开发业务工具,可能需要调用多个后端系统的API。若应用直接调用后端系统API,开发成本高,工作量大,维护困难;因此,蓝鲸提供了云API管理系统API网关,将多个系统的API集中管理起来,并以统一的方式为蓝鲸应用提供API接口服务,减少应用开发者的工作量,使开发者能够更方便的使用后端系统API。
如果,我们有一些API,希望接入API网关,以方便更多的应用开发者使用,需要怎样处理呢。本场,就讲为你介绍,如何将一个API接入API管理系统,以及如何调用这些API。
二、准备工作
- 蓝鲸社区版环境及账号(培训方提供,不需要自己搭建)
- 支持 Django 1.8.11 的本地开发环境
- 支持打包 tar.gz 的压缩软件,比如 Windows 系统 7-Zip
- API样例,组件开发模板 api_dev_template.tar.gz(培训方提供)
三、实验知识点
- 学习如何以编码方式将一个API接入API网关
- 学习如何调用API网关提供的API
四、实验任务一
任务目标: 以编码方式接入一个API
API 样例:
系统名称:作业平台 JOB
接口名称:快速执行脚本
接口地址:http://jobce-poc.o.qcloud.com/api/v2/fast_execute_script
前置步骤:构建组件开发环境
- 解压API网关组件开发模板 api_dev_template.tar.gz
- 创建 virtualenv 环境 api_dev_template
- 安装项目依赖包 pip install -r requirements.txt
步骤一:创建系统目录及组件文件
在基准目录:components/generic/apis/ 下,按照下面结构创建目录及文件;为避免冲突,请将系统包名更改为: {用户英文名}_job
步骤二:组件配置中添加系统信息
在组件系统配置模块 demo_job/toolkit/configs.py 中添加系统名称SYSTEM_NAME 和主机信息 host,为避免冲突,请将系统名称更改为:{用户英文名大写}_JOB
步骤三:开发组件模块
- 定义组件类
每个组件一个单独的模块,模块名为“小写+下划线”格式,组件类的类名为驼峰格式,组件类统一继承自类Component,类名为模块名的大写形式。
- 定义 Form
Form 中 clean 方法的返回值,在组件中可通过 form_data 属性获取。
- 开发组件逻辑
组件 handle 方法为组件处理逻辑的入口,应在此方法中将组件的返回值设置给组件的 response.payload 属性。
- 本地测试组件
首先,利用 python manage.py runserver 127.0.0.1:8000 启动本地组件服务;然后,编写单元测试,对API进行测试,组件开发模板中定义了 http_client 用于发送 HTTP 请求,帮助开发者进行组件测试。
执行单元测试:python manage.py test --keepdb tests.components.apis.test_demo_job.TestDemoJob.test_fast_execute_script
步骤四:部署自定义组件
- 打包本地开发的自定义组件,将 components/generic/apis/ 下的系统组件包 {用户英文名}_job 打包为 {用户英文名}_job.tar.gz
- 打开作业平台: http://jobce-poc.o.qcloud.com/?main&appId=2
- 在“作业执行=>常用作业执行“中查找作业:蓝鲸API网关自定义组件更新
- 克隆作业“蓝鲸API网关自定义组件更新”,
作业名称设置为:蓝鲸API网关自定义组件更新-{用户英文名}
云参参数 src 设置为:{用户英文名}_job.tar.gz
JOB作业步骤“上传自定义组件压缩包”中:删除已有文件列表,本地上传本步骤第1项打包的压缩文件 {用户英文名}_job.tar.gz
- 保存并执行作业,完成发布
步骤五:注册组件通道
通过注册组件通道,将组件path和后端的组件类关联起来。
步骤六:测试正式环境组件
新组件访问地址:http://paasce-poc.o.qcloud.com/api/c/compapi/{用户英文名}_job/fast_execute_script/
编写单元测试,对正式环境组件进行测试
五、实验任务二
任务目标: 以自助接入方式接入一个API
API 样例:
系统名称:作业平台 JOB
接口名称:快速执行脚本
接口地址:http://jobce-poc.o.qcloud.com/api/v2/fast_execute_script
步骤一:打开API网关的管理端,选在其中的“自助接入“
点击“申请接入”,填入自助接入API的信息;为避免冲突,请将所属系统调整为”{用户英文名大写}_JOB”,将注册到的API 路径调整为 /{用户名文}_job/fast_execute_script/
步骤二:测试正式环境组件
新组件访问地址:http://paasce-poc.o.qcloud.com/api/c/self-service-api/{用户英文名}_job/fast_execute_script/
编写单元测试,对正式环境组件进行测试
学员评价