kylin 使用RESTful API 請求


      目前根據Kylin的官方文檔介紹,Kylin的認證是basic authentication,加密算法是Base64,在POST的header進行用戶認證
我使用的用戶和密碼是(格式:username:password) :ADMIN:KYLIN 使用Base64編碼后結果為QURNSU46S1lMSU4=
1、在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/authentication

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

 

返回結果:

{
    "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 文件就可以了,不需要每次都認證,

 相當於在瀏覽器下訪問后,留下的cookis信息。  如:

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來看數據。

2、POSTMAN 方式查看或者請求

首先必須知道你用什么用戶名和密碼去訪問Kylin,所以Header信息必須要帶。

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

 
        

 

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

2、列出當前項目的表和列

 

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

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

4、列出所以Cubes信息
get:http://10.8.217.66:7070//kylin/api/cubes

5、GET http://10.8.217.66:7070/kylin/api/cubes/kylin_sales_cube
6、GET http://10.8.217.66:7070/kylin//api/cube_desc/{cubeName}


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





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM