kylin 使用RESTful API 請求

      目前根據Kylin的官方文檔介紹,Kylin的認證是basic authentication,加密算法是Base64,在POST的header進行用戶認證
我使用的用戶和密碼是(格式:username:password) :ADMIN:KYLIN 使用Base64編碼後結果爲QURNSU46S1lMSU4=
一、在Linux環境下
     curl -c cookiefile.txt -X POST -H "Authorization: Basic QURNSU46S1lMSU4="-H 'Content-Type: application/json'http://10.8.217.66:7070/kylin/api/user/authenticationhtml

     在執行的目錄下會生成cookiefile.txt 文件,內容是:算法

 

返回結果:sql

{
    "userDetails":{
        "password":null,
        "username":"ADMIN",
        "authorities":[
            {
                "authority":"ROLE_ADMIN"
            },
            {
                "authority":"ROLE_ANALYST"
            },
            {
                "authority":"ROLE_MODELER"
            }
        ],
        "accountNonExpired":true,
        "accountNonLocked":true,
        "credentialsNonExpired":true,
        "enabled":true
    }
}

 若是登陸成功,JSESSIONID將被保存到cookie文件中; 在隨後的http請求中,附加cookiefile.txt 文件就能夠了,不須要每次都認證,shell

 至關於在瀏覽器下訪問後,留下的cookis信息。  如:apache

curl -b cookiefile.txt -X PUT -H 'Content-Type: application/json' -d '{"startTime":'1423526400000', "endTime":'1423526400', "buildType":"BUILD"}' http://<host>:<port>/kylin/api/cubes/your_cube/build
您能夠在命令中提供用戶名/密碼選項「用戶」; 請注意,這在shell歷史中有密碼泄露的風險
curl -X PUT --user ADMIN:KYLIN -H "Content-Type: application/json;charset=utf-8" -d '{ "startTime": 820454400000, "endTime": 821318400000, "buildType": "BUILD"}' http://<host>:<port>/kylin/api/cubes/kylin_sales/build

查詢項目下的表數據

curl -X POST -H "Authorization: Basic QURNSU46S1lMSU4=" -H "Content-Type: application/json" -d '{ "sql":"select count(*) from TEST_KYLIN_FACT", "project":"learn_kylin" }'http://<host>:<port>/kylin//api/query

你可能以爲這個方式很差,寫這麼多,沒有關係,你也能夠經過代碼實現,使用JDBC訪問方式。若是僅僅爲了看數據,也能夠使用PostMan來看數據。

二、POSTMAN 方式查看或者請求

首先必須知道你用什麼用戶名和密碼去訪問Kylin,因此Header信息必需要帶。

   Authorization:Basic QURNSU46S1lMSU4=
   Content-Type: application/json;charset=UTF-8json

 

 

一、查看Cube信息
get:http://10.8.217.66:7070/kylin/api/cubes?cubeName=kylin_sales_cube&limit=15&offset=0api

二、列出當前項目的表和列瀏覽器

 

三、SQL 查詢語句請求
post:http://10.8.217.66:7070/kylin/api/querycookie

{
"sql":"select * from KYLIN_SALES",
"offset":0,
"limit":50000,
"acceptPartial":false,
"project":"learn_kylin"
}app

四、列出因此Cubes信息
get:http://10.8.217.66:7070//kylin/api/cubes

五、GET http://10.8.217.66:7070/kylin/api/cubes/kylin_sales_cube
六、GET http://10.8.217.66:7070/kylin//api/cube_desc/{cubeName}

參考詳見:http://kylin.apache.org/docs20/howto/howto_use_restapi.html#build-cubehttp://kylin.apache.org/docs20/howto/howto_build_cube_with_restapi.html

相關文章
相關標籤/搜索