本文档包含以下部分:
1.引入真实API
2.创建代理API
3.为代理API添加策略
4.为API准备收费计划(可选)
5.将代理API制作为API Product以供其他用户消费
6.管理API消费者
BTP客户在获取BTP账户之后会收到邮件,内包含激活账号方式及自己的全局账号链接
为背后的API创建API provider,以将前台API与后台真实API解耦
首先如果后台API是基于HTTPS的,先获取该API的证书,可以在浏览器打开该API所属domain网址,点击浏览器上地址栏最左侧的小锁,导出der格式的证书,在”Configure-APIs-Certificate”内进行导入
然后创建API Provicer,进入”Configure-APIs-Create”
分别填入名字,由于我这里选择的后台API为https://m.maoyan.com/,所以命名之后直接填入host参数,一般HTTPS服务为443端口,HTTP服务为8080端口
CatalogService暂时置空,即可保存
基于API provider来创建一个API
创建API之后,Save,再点击右上角的”…-Deploy”,就可以通过访问这个前台API来连接到后台API了,例如访问https://int905.apimanagement.cn40.apps.platform.sapcloud.cn/v1/basePath/ajax/movieOnInfoList,就会返回https://m.maoyan.com/ajax/movieOnInfoList的结果
但是这只是进行了转发,还没有添加其他能力
点击右上角的policy进入策略编辑器来为这个API添加能力
首先解释一下界面,策略主要在两个流程中生效,分别是消息从消费者处发送到APIM(及APIM的Response),以及消息从APIM发送到后端真实API流程,我们首先为inbound消息添加一条Spike Arrest信息,来在请求超过一定频率之后停止向后端真实API发送消息,
Policy创建完成后会自带一份模板代码,这里修改<Rate>属性即可修改频率限制,默认的30pm代表每分钟最多访问30次,我这里将其修改为2pm后,”Update该策略-Save该API-Deploy部署该API”之后,通过浏览器访问Endpoint即可触发Spike Arrest,停止服务
我们还可以为其添加许多其他的Policy,以及将制作完成的一套Policy转为一套Policy Template用来让其他系统复用,这里就不详细展开了。
APIM可以统计不同用户对不同API的访问次数,所以可以为API设定费率计划,用以向API消费者收费,进入“Monetize-Create”
然后在”APIs”这个Tab添加上我们先前创建的API
Permission Tab用于配置权限,哪些API消费者能看到哪些API Product,这里我先留空
Rateplan内选择先前创建的费率计划(不配置费率计划也可以正常使用)
最后点击右上角的Publish,即可将这个包含了一个API的API产品发布出去,开发端的操作到这里就结束了
APIM主要在API Business Hub Enterprise为消费者提供API的能力,点击集成套件右上角即可进入
实际使用中,首先需要消费者在IDP内注册身份,如果你使用的是阿里云的BTP环境,请通过Link完成用户注册
然后由APIM管理员在devPortal为该消费者创建身份,勾选权限,APIM会给该消费者发送邮件
该消费者自己打开邮箱,点击链接,登录IDP后,即可点击注册APIM
自主注册提交后,管理员会收到邮件,进入APIM管理端,就可以允许注册
最后消费者收到确认邮件,登录API Portal,就可以订阅产品,获取到API Key,开始调用接口了
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 [email protected],感谢你的时间