cube.js 的rest api

cube.js 同时提供了强大的rest api 支持,默认请求地址是/cubejs-api ,当然可以通过Cube.js 修改

认证授权

cube.js api 的认证授权是基于jwt 的,同时会暴露一个USER_CONTEXT 对象给数据schema

参考请求

curl -H "Authorization: EXAMPLE-API-TOKEN" https://example.com/cubejs-api/v1/sql

超长请求处理

cube.js 对于超长查询处理的,会返回一个{ "error": "Continue wait" } 状态码为200 的响应,我们可以基于此进行重试

提供的api

  • /v1/load
    提供了数据查询的处理
    参考
 
curl 
 -X POST
 -H "Content-Type: application/json" 
 -H "Authorization: EXAMPLE-API-TOKEN" 
 -G 
 --data '{"query": {"measures":["Users.count"]}}' 
 http://localhost:4000/cubejs-api/v1/load
  • /v1/sql
    提供sql生成的获取
    参考
 
curl 
 -H "Authorization: EXAMPLE-API-TOKEN" 
 -G 
 --data-urlencode 'query={"measures":["Users.count"],
 "timeDimensions":[{"dimension": "Users.createdAt","granularity":"day","dateRange":["2019-03-01","2019-03-31"]}]}' 
 http://localhost:4000/cubejs-api/v1/sql
  • /v1/meta
    提供数据schema 元数据的api
  • /v1/run-scheduled-refresh
    提供数据预聚合刷新的处理

参考资料

https://cube.dev/docs/rest-api

原文地址:https://www.cnblogs.com/rongfengliang/p/14221183.html