关注paas也已经有段时间了,最近发现搜狐也出了个paas,叫云景,于是花了一天时间进去一探究竟。。
paas的关注点太多了,自动调度、语言支持、监控、日志、计费等等,这都是开发者最关心的核心功能。 我这次的关注点是在openapi上,云景开放了这些:
看出来了没,这是让开发者自己能够管理自己的应用,自己去监控,自己去做数据分析。比如说,你云景提供的cli或者web控制台功能虽然强大,但是我需要有我自己的管理方式,自己的监控方式,我需要更加原始的数据去做分析,那我就可以通过openapi来做我自己的终端。比如我做一个安卓或者ios版的客户端工具,我出去旅游了,我用手机就能监控我的应用,管理我的应用。
先看看api地址:https://api.cloudscape.sohu.com/cs
再来看看公共参数:
貌似也没啥特别的。。。。
获取access_key和access_secret方法:http://cloudscape.sohu.com/user/apikeys
密钥需要到个人安全中心获取
具体签名方式可以直接戳这里:http://cloudscape.sohu.com/doc/openapi/dev-guide#href_2
demo地址:http://cs.cdn.sohusce.com/doc/sce_openapi_demo.zip
根据demo的 代码,简单跑一个接口:
@Before public void setUp() { data.put(SceOpenApiConstant.ACCESS_KEY, new String[] { accessKey }); long timestamp = System.currentTimeMillis(); data.put(SceOpenApiConstant.TIMESTAMP, new String[] { String.valueOf(timestamp) }); data.put(SceOpenApiConstant.SIGNATURE_METHOD, new String[] { signatureMethod }); data.put(SceOpenApiConstant.SIGNATURE_VERSION, new String[] { "1.0" }); data.put(SceOpenApiConstant.VERSION, new String[] { "1.0" }); } @Test public void testGetDomain() { String uri = "/cs/apps/" + appid + "/domains"; try { String sigature = SignatureUtils.signature(data, secret, "GET", uri, signatureMethod); data.put(SceOpenApiConstant.SIGNATURE, new String[] { sigature }); String response = HTTPUtils.doGet(domain + uri, data, charset, null); System.out.println("========================="); System.out.println(response); } catch (Exception e) { e.printStackTrace(); } }这个接口是获取你的应用的域名列表,返回结果如下:
{ "message" : "ok", "domains" : [ { "domain" : "adrobot.sohuapps.com", "enabled" : "enabled", "create_time" : "2014-05-20 23:53:00", "update_time" : "2014-05-20 23:53:00", "is_public" : false, "is_internal" : true } ], "code" : 1000 }adrobot是我的应用名,平台会默认给你的应用分配一个二级域名:adrobot.sohuapps.com
你还可以自己添加域名绑定上来,甚至可以在上面自定义nginx配置,强大吧
至于其他接口,我就不一一演示了,看了一遍文档,目前来说能基本满足我diy运维的需求;
至于吐槽点,就是文档还不够详细,如果没有这方面经验的小白,估计是要走很多弯路的