1.7 运维自动化系统的API参考实现
所有的底层系统都是通过API对外提供服务的,API可供各个系统使用。接口的使用需要通过授权来获得,建议这个授权可以是基于系统级别的,也可以是接口级别的,而不是采用统一开放的模式。另外接口内需要有相应的一些权限控制,以避免底层服务被任意操作。
可以仿照AWS的接口实现方式,统一实现API的接口开放访问地址,同时统一协议(HTTP、HTTPS),协议可以使用Get的方式进行访问。图1-14所示是一个开放API的结构。
名称 描述 示例
API入口 API调用的服务入口 http://auto.**.com/
公共参数 每个API调用都需要包含公共参数 包含了颁发的access_id、时间戳、API版本、签名、签名的方法(sha1、md5)等
指令名称 API指令的名称,例如newrdsinstance等 每个系统都需要注册统一的服务名到服务中心
指令参数 指令参数。对任何一个指令来说,都应该有统一的调用输入参数和输出参数的说明 在界面化的API中心里有统一的在线说明手册
图1-14 开放API的结构