课程评价 (4)

请对课程作出评价:
0/300

学员评价

用户5***687
2019-08-12
标准运维源码无法下载,连接密码错误
腾讯***智云
2019-05-10
这个产品已经开源了,可以进行更多的标准插件(原子)开发了 https://github.com/Tencent/bk-sops
用户3***618
2018-10-30
文档不喜欢,来点实际的
用户3***517
2018-10-23
可以
40分钟

API网关实战(实验手册)

获取更多课程代码包,请添加学院君微信(Tcloudedu)二维码在文档底部,回复关键字 “ 蓝鲸 ”

一、实验概述

蓝鲸应用开发业务工具,可能需要调用多个后端系统的API。若应用直接调用后端系统API,开发成本高,工作量大,维护困难;因此,蓝鲸提供了云API管理系统API网关,将多个系统的API集中管理起来,并以统一的方式为蓝鲸应用提供API接口服务,减少应用开发者的工作量,使开发者能够更方便的使用后端系统API。

如果,我们有一些API,希望接入API网关,以方便更多的应用开发者使用,需要怎样处理呢。本场,就讲为你介绍,如何将一个API接入API管理系统,以及如何调用这些API。

二、准备工作

  1. 蓝鲸社区版环境及账号(培训方提供,不需要自己搭建)
  2. 支持 Django 1.8.11 的本地开发环境
  3. 支持打包 tar.gz 的压缩软件,比如 Windows 系统 7-Zip
  4. API样例,组件开发模板 api_dev_template.tar.gz(培训方提供)

三、实验知识点

  1. 学习如何以编码方式将一个API接入API网关
  2. 学习如何调用API网关提供的API

四、实验任务一

任务目标: 以编码方式接入一个API

API 样例:

系统名称:作业平台 JOB

接口名称:快速执行脚本

接口地址:http://jobce-poc.o.qcloud.com/api/v2/fast_execute_script

前置步骤:构建组件开发环境

  1. 解压API网关组件开发模板 api_dev_template.tar.gz
  2. 创建 virtualenv 环境 api_dev_template
  3. 安装项目依赖包 pip install -r requirements.txt

步骤一:创建系统目录及组件文件

在基准目录:components/generic/apis/ 下,按照下面结构创建目录及文件;为避免冲突,请将系统包名更改为: {用户英文名}_job

步骤二:组件配置中添加系统信息

在组件系统配置模块 demo_job/toolkit/configs.py 中添加系统名称SYSTEM_NAME 和主机信息 host,为避免冲突,请将系统名称更改为:{用户英文名大写}_JOB

步骤三:开发组件模块

  1. 定义组件类

每个组件一个单独的模块,模块名为“小写+下划线”格式,组件类的类名为驼峰格式,组件类统一继承自类Component,类名为模块名的大写形式。

  1. 定义 Form

Form 中 clean 方法的返回值,在组件中可通过 form_data 属性获取。

  1. 开发组件逻辑

组件 handle 方法为组件处理逻辑的入口,应在此方法中将组件的返回值设置给组件的 response.payload 属性。

  1. 本地测试组件

首先,利用 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

步骤四:部署自定义组件

  1. 打包本地开发的自定义组件,将 components/generic/apis/ 下的系统组件包 {用户英文名}_job 打包为 {用户英文名}_job.tar.gz
  2. 打开作业平台: http://jobce-poc.o.qcloud.com/?main&appId=2
  3. 在“作业执行=>常用作业执行“中查找作业:蓝鲸API网关自定义组件更新
  1. 克隆作业“蓝鲸API网关自定义组件更新”,

作业名称设置为:蓝鲸API网关自定义组件更新-{用户英文名}

云参参数 src 设置为:{用户英文名}_job.tar.gz

JOB作业步骤“上传自定义组件压缩包”中:删除已有文件列表,本地上传本步骤第1项打包的压缩文件 {用户英文名}_job.tar.gz

  1. 保存并执行作业,完成发布

步骤五:注册组件通道

通过注册组件通道,将组件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/

编写单元测试,对正式环境组件进行测试