数据聚合查询服务

更新时间:2018-06-21 11:44:54

查询数据

API定义相关

path 版本 描述 是否需要用户身份的鉴权
/datacenter/data/aggregate/query 1.0.0 查询设备的聚合数据 是,客户端SDK需启用身份的鉴权

业务请求参数列表

参数名 参数类型 详细描述
tableName String 表名称,
expr 查询的条件表达式 op: 支持 and/or col: 列名 comp: 比较符,支持 >,<,>=,<=,=,!=,in,not-in,like,not-like val: 待比较的值。 示例见下方sample
cols List 需要查询的列
orderby 排序设置 col: 列名 type:“asc”(升序),“desc”(降序)。 示例:[{“col”:“id”,“type”:“asc”}]
page 分页设置 to: 第几页,从1开始 size: 页面大小 total: 该字段仅在返回的结果中存在,请求参数不需要加此参数。 示例: {“to”:1,“size”:10}

参数格式

{
  "expr":{
    "op":"and",
    "filters": [
      {"col": "dim_time","comp": "=","val": "2015-7-13"},
      {"col": "dim_time","comp": ">=","val": "2015-7-13"},
      {"col": "pm2dot5","comp": "<=","val": 500},
      {"col": "province","comp": "in","val": ["a", "b"]},
      {"col": "city","comp": "not-in","val": ["c", "d"]}]
  },
  "cols": ["dim_time", "province", "city", "pm2dot5"],
  "orderby": [
    {"col": "dim_time","type": "asc"},
    {"col": "pm2dot5","type": "desc"}],
  "page": {"to": 1,"size": 10},
}

业务响应参数列表

参数名 参数类型 详细描述
code INT
data JSONObject 自建表查询结果
message String 错误信息提示,不通错误提示不同

response 格式

// 成功的返回值,data的具体内容取决于API的返回值
{
  "code": 200,
  "data": xxxx
}
// 失败的返回值
{
  "code": 460,
  "message": "request parameter error."
}

完整请求、响应示例

body

{
    "id": "816e03c0-1f00-44a2-aedb-1b34de4392c1",
    "params": {
        "userContextDTO": {},
        "dataQueryJson": {
            "cols": ["iot_id",
            "attribute",
            "count_Num",
            "date_time"],
            "expr": {
                "filters": [{
                    "col": "date_time",
                    "comp": ">=",
                    "val": "2018-04-18 00:00:01",
                    "valueType": "int"
                },
                {
                    "col": "date_time",
                    "comp": "<",
                    "val": "2018-04-23 00:00:01",
                    "valueType": "int"
                }],
                "op": "and"
            },
            "page": {
                "size": 3,
                "to": 1
            },
            "tableName": "ads_ilop_kv_count_di"
        }
    },
    "request": {
        "apiVer": "1.0.0"
    },
    "version": "1.0"
}

response

{
    "code": 200,
    "data": {
        "data": [{
            "count_Num": 7,
            "iot_id": "BPLjau0xw3CyuRKcOtUj0010348a00",
            "date_time": "2018-04-19 00:00:00",
            "attribute": "_sys_device_pid"
        }],
        "params": {
            "page": {
                "total": 1,
                "pageSize": 3,
                "pageid": 1
            }
        }
    },
    "id": "816e03c0-1f00-44a2-aedb-1b34de4392c1"
}

接口支持的表以及列信息</span>

1、在查询某属性行数接口时采用表

ads_ilop_kv_count_di

2、在查询明细、最大值、最小值和平均值时采用表

dwd_ilop_timeline_kv_di

--数据通用聚合服务表
drop table `ads_ilop_kv_count_di`;
CREATE TABLE `ads_ilop_kv_count_di` (
  `scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
  `iot_id` varchar(100) NOT NULL COMMENT '设备id',
  `attribute` varchar(50) NOT NULL COMMENT '属性名',
  `count_num` bigint(11) DEFAULT 0 COMMENT '行数',
  `date_time` datetime NOT NULL COMMENT '统计日期,格式为yyyy-mm-dd hh:MM:ss',
  PRIMARY KEY (`date_time`,`scope_id`,`iot_id`,`attribute`)
) COMMENT 'ilop数据通用聚合服务属性行数表';


drop table `dwd_ilop_timeline_kv_di`;
CREATE TABLE `dwd_ilop_timeline_kv_di`
 (
  `scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
  `iot_id` varchar(100) NOT NULL COMMENT '设备id',
  `attribute` varchar(20) NOT NULL COMMENT '属性名',
  `col_value` varchar(100) COMMENT '属性值',
  `client_date`  datetime NOT NULL COMMENT '客户端时间',
  `service_date` datetime NOT NULL COMMENT '服务端时间',
  `date_time` datetime NOT NULL COMMENT '统计日期,格式为yyyy-mm-dd hh:MM:ss',
  PRIMARY KEY (`date_time`,`scope_id`,`iot_id`,`attribute`,`col_value`,`client_date`,`service_date`)
) COMMENT 'ilop设备能力属性信息明细表'
;

3、事件信息记录聚合</span>

ads_ilop_event_count_di

4、事件属性的值进行过滤的输出的能力</span>

ads_ilop_event_kv_di

--设备事件信息聚合
drop table `ads_ilop_event_count_di`;
CREATE TABLE `ads_ilop_event_count_di` (
  `scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
  `iot_id` varchar(100) NOT NULL COMMENT '设备id',
  `event_code` varchar(50) NOT NULL COMMENT '事件id',
  `count_num` bigint(11) DEFAULT 0 COMMENT '行数',
  `date_time` datetime NOT NULL COMMENT '统计日期,格式为yyyy-mm-dd hh:MM:ss',
  PRIMARY KEY (`date_time`,`scope_id`,`iot_id`,`event_code`)
) COMMENT 'ilop事件信息聚合表';

drop table `ads_ilop_event_kv_di`;
CREATE TABLE `ads_ilop_event_kv_di`
 (
  `scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
  `iot_id` varchar(100) NOT NULL COMMENT '设备id',
  `event_code` varchar(50) NOT NULL COMMENT '事件id',
  `attribute` varchar(20) NOT NULL COMMENT '属性名',
  `col_value` text NOT NULL COMMENT '属性值',
  `date_time` datetime NOT NULL COMMENT '统计日期,格式为yyyy-mm-dd hh:MM:ss',
  PRIMARY KEY (`date_time`,`scope_id`,`iot_id`,`event_code`,`attribute`,`col_value`)
) COMMENT 'ilop事件信息明细表'
;

drop table `r_ilop_event_aggre_di`;
CREATE TABLE `r_ilop_event_aggre_di`(
   `batch_id` VARCHAR(100) comment 'request_id',
   `iot_id` VARCHAR(100) comment '设备id', 
   `scope_id` VARCHAR(100) comment '资源隔离id', 
   `event_code` VARCHAR(50) comment '事件id', 
   `data_value` text comment '事件内容', 
   `client_date` datetime comment '客户端日期', 
   `service_date` datetime comment '服务端日期', 
   primary key(batch_id,iot_id,scope_id,event_code,client_date,service_date)
  ) COMMENT 'ilop事件信息聚合表';

results matching ""

    No results matching ""