网易云计算基础服务的另一种打开姿势——Open Api

达芬奇密码2018-08-08 10:47

进入网易云官网,你可以在页面进行点击操作,比如创建集群、创建容器、构建镜像等,来享受网易云计算基础服务提供的便捷云服务。但今天,我将向大家介绍网易云计算基础服务的另外一种打开姿势——Open Api。

考虑下面几种情境:
1、 定时备份容器状态,保证容器数据状态的安全。
2、 实时监控容器上下行流量使用情况。
3、 实时监控集群中容器的变化,保证服务的高可用。
等等
在页面上,处理上面几种情境,是令人头疼的事情。但是,如果你了解了Open Api,你将可以轻松地解决上面的情境问题以及其他更多的问题。

Open Api是什么?

Open Api是网易云计算基础服务对外提供的接口服务,目前包括集群管理服务、容器管理服务、镜像仓库服务、秘钥管理服务以及集群中的容器变化监控服务。通过调用Open Api接口服务,你完全可以像在页面上一样地使用网易云计算基础服务的集群、容器和镜像仓库等服务。下面为大家罗列出目前Open Api提供的全部服务内容(后续根据网易云计算基础服务提供的服务变化,Open Api支持的服务也会相应的变化):

集群管理服务:创建集群、删除集群、扩缩容集群、WebHook服务、获取全部集群信息、获取单个集群信息、修改集群属性以及获取创建集群所用的镜像信息等服务。

容器管理服务:创建容器、删除容器、重启容器、查询容器上下行流量、将容器保存为镜像、获取全部容器信息、获取单个容器信息、修改容器属性信息以及获取创建容器所用的镜像信息等服务。

镜像仓库服务:创建镜像仓库、删除镜像仓库、构建镜像、删除镜像、获取全部镜像仓库信息、获取单个镜像仓库信息以及获取单个镜像仓库内的全部镜像信息等服务。

秘钥管理服务:创建秘钥、删除秘钥、获取全部秘钥信息以及获取单个秘钥信息等服务。

集群中容器变化监控服务:会在你的集群中容器发生任何变化时,及时告诉你集群容器变化情况。

Open Api接口设计风格

Open Api的设计采用了Restful API风格。下面将简要介绍Open Api接口设计风格。

协议

客户端访问Open API接口服务,必须采用HTTPS协议,即所有的访问接口行为,都需要用TLS,通过安全连接来访问。

版本号

Open Api将Api版本号放入了URL中。举个栗子,当前使用Open Api创建镜像仓库的URL为https://open.c.163.com/api/v1/repositories,其中v1指的是当前API版本为v1。

请求

如果请求的body需要携带参数,需要将参数JSON格式化,否则会得到错误响应。同时,请求中需要规范地使用HTTP请求方法动词,即:
1、 GET方法:从服务器获取资源(一项或多项);
2、 POST方法:在服务器上新建资源;
3、 PUT:在服务器上更新资源(客户端提供改变后的完整资源);
4、 DELETE:在服务器上删除资源。

响应

Open Api的接口服务会为每次响应,按照HTTP规范返回合适的响应状态码。并且,在错误响应中,除了上述的Request-ID,还会生成结构化的错误信息,即机器可读错误码(code)和肉眼可读的错误信息(message)。其中错误码的构造规则为:code = HttpStatus.code(长度3) + Open Api服务编码(长度2) + 细分错误码(长度2)。对于正确的响应,针对不同的操作,Open Api接口向用户返回的结果符合以下规范:
1、 GET请求:返回资源对象的列表或者单个资源对象。
2、 POST请求:返回新建的资源的ID。
3、 PUT请求:返回处理结果状态码,比如状态码200。
4、 DELETE请求:返回处理结果状态码,比如状态码200

Open Api使用步骤

Open Api的使用主要分为三步:
1、 得到Key和Secret。进入网易云计算基础服务的控制台,点开个人基本信息,接着进入API子页面,就可以看到个人App Key和App Secret;

2、 获取Token。使用1中得到的App Key和App Secret,调用Open Api中的Token生成接口,获取授权Token;

3、 带上2中得到的Token,便可以访问Open Api中的全部接口服务。如果请求没有Token,Open Api的安全机制将会视其为对服务(除了获取Token服务和WebHook服务)的未授权访问操作,进而会拦截。

因此,Open Api服务请求的完整处理流程如下图所示:


读到这里,大家应该知道了如何解决文章开头提到的那几种情境了吧。是的,在得到有效Token后,分别定时调用将容器保存为镜像接口服务,定时查询容器上下行流量接口和定时调用集群容器变化监控接口,就能完美而又轻松地解决那三种情境了。当然,使用Open Api服务,你还可以解决更多的其他情境问题。

Open Api具体接口使用参考手册见OpenApi使用指南

注:Open Api中内置了流控机制,对于恶意攻击Open Api服务的行为,会采取限制措施。

网易云计算基础服务深度整合了 IaaSPaaS 及容器技术,提供弹性计算、DevOps 工具链及微服务基础设施等服务,帮助企业解决 IT、架构及运维等问题,使企业更聚焦于业务,是新一代的云计算平台。点击可免费试用

网易云新用户大礼包:https://www.163yun.com/gift

本文来自网易实践者社区,经作者邓尉授权发布。