怎样进行Kylin Restful API的使用


怎样进行Kylin Restful API的使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。说明:官网上关于Restful API Response部分介绍倒是很详细,但Request部分却很简单,有些没有举例说明,笔者在进行restful接口开发时刚开始很是懵逼,而我们当然更在意如何发请求去访问Kylin,这样拿到的Response也才有意义。这篇文章着重举例说明下如何使用Restful API访问Kylin(结构与官网保持一致)。1. Query | Authentication
官网:有举例。API说明:进行认证。笔者刚开始这里有点晕,一时没看懂它的权限验证是什么意思。这里简单说明一下:第一次访问时:curl -c /path/to/cookiefile.txt -X POST -H “Authorization: Basic XXXXXXXXX” -H ‘Content-Type: application/json’ http://:/kylin/api/user/authentication第二次访问时:curl -b /path/to/cookiefile.txt -X PUT -H ‘Content-Type: application/json’ -d ‘{“startTime”:’1423526400000′, “endTime”:’1423526400′, “buildType”:”BUILD”}’ http://:/kylin/api/cubes/your_cube/build这里有点像kerberos认证:先为每个用户生成一个keytab文件,而后用户就可以通过这个keytab文件去进行登录访问,当然原理是不一样的。第一次访问Kylin时,要进行认证操作,通过Authorization头,传入一个base64编码后的值,通常是对“用户名:密码”进行编码后传入,然后会生成一个cookie文件保存在本地,即cookiefile.txt 。当第二次登录时,不必再进行认证,只需通过指定这个cookie文件即可访问Kylin(指定Authorization头当然也可以访问Kylin)。Authorization值可通过如下代码获取:byte[] key = (“ADMIN:KYLIN”).getBytes();encoding = new sun.misc.BASE64Encoder().encode(key);可得到:encoding = “QURNSU46S1lMSU4=”然后通过-H “Authorization: Basic QURNSU46S1lMSU4=”进行访问2. Query | Query官网:有举例。API说明:执行所有查询语句。3. Query | List queryable tablesAPI说明:列出指定项目下可查询的表API举例说明:curl -X GET-H “Content-Type: application/json” -H “Authorization: Basic QURNSU46S1lMSU4=” 香港云主机 http://:/kylin/api/tables_and_columns?project=projectName4. CUBE | List cubesAPI说明:列出符合条件的cube信息API举例说明:a.列出所有项目所有的cube信息(limit=15)curl -vi -X GET -H “Authorization: Basic QURNSU46S1lMSU4=” -H “Content-Type: application/json” http://:/kylin/api/cubes?limit=15&offset=0b.列出所有项目下cubeName=xxxx的cube信息curl -vi -X GET -H “Authorization: Basic QURNSU46S1lMSU4=” -H “Content-Type: application/json” http://:/kylin/api/cubes?cubeName=xxxx&limit=15&offset=0注:cubeName参数必须写在limit和offset前,否则失效c.列出指定项目下所有的cube信息curl -vi -X GET -H “Authorization: Basic QURNSU46S1lMSU4=” -H “Content-Type: application/json” http://:/kylin/api/cubes?projectName=xxxx&limit=15&offset=0注:projectName参数必须写在limit和offset前,否则失效d.cubeName与projectName为可选项,哪个在前哪个生效curl -vi -X GET -H “Authorization: Basic QURNSU46S1lMSU4=” -H “Content-Type: application/json” http://:/kylin/api/cubes?cubeName=xxxx& projectName=xxxx&limit=15&offset=05. CUBE | Get CubeAPI说明:获取指定cube信息API举例说明:curl -vi -b /home/cookiefile.txt-X GET -H “Content-Type: application/json” http://:/kylin/api/cubes?cubeName=xxxx6.CUBE | Get cube descriptorAPI说明:获取指定cube的描述信息API举例说明:curl -vi -b /home/cookiefile.txt -X GET -H “Content-Type: application/json” http://:/kylin/api/cube_desc/{cubeName}
7.CUBE | Get data modelAPI说明:获取指定model的信息API举例说明:curl -vi -b /home/cookiefile.txt -X GET -H “Content-Type: application/json” http://:/kylin/api/model/{modelName}8.CUBE | Build cubeAPI说明:构建cubeAPI举例说明:官网有案例注:PUT /kylin/api/cubes/{cubeName}/build与PUT /kylin/api/cubes/{cubeName}/rebuild测试均可。9.CUBE | Enable CubeAPI说明:使已构建的cube不可用API举例说明:
curl -X PUT -H “Authorization: Basic QURNSU46S1lMSU4=” -H ‘Content-Type: application/json’ http://:/kylin/api/cubes/{cubeName}/enable
10.CUBE | Disable CubeAPI说明:恢复不可用cube为可用API举例说明:
curl -X PUT -H “Authorization: Basic QURNSU46S1lMSU4=” -H ‘Content-Type: application/json’ http://:/kylin/api/cubes/{cubeName}/disable
11.CUBE | Purge CubeAPI说明:清空cube所有数据API举例说明:curl -X PUT -H “Authorization: Basic QURNSU46S1lMSU4=” -H ‘Content-Type: application/json’ http://:/kylin/api/cubes/{cubeName}/purge注:purge前必须先disable,purge后只是删除了元数据,表并没有被删除。12. 删除无用的segmentAPI说明:官网上没有,Google好久才找到,当错误build一个cube时,可使用此API。API举例说明:curl -vi -b /home/cookiefile.txt -XDELETE -H “Content-Type: application/json” 关于怎样进行Kylin Restful API的使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: win7电脑任务栏怎么设置成透明

这篇文章主要介绍“win7电脑任务栏怎么设置成透明”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win7电脑任 香港云主机务栏怎么设置成透明”文章能帮助大家解决问题。1、鼠标单击鼠标右键选择个性化。2、进入个性化以后在…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/14 15:11
下一篇 08/14 15:11

相关推荐