数据聚合查询服务
更新时间:2018-10-19 11:29:34
查询数据
API定义相关
path |
版本 |
描述 |
是否需要用户身份的鉴权 |
/datacenter/data/aggregate/query |
1.0.0 |
查询设备的聚合数据 |
是,客户端SDK需启用身份的鉴权 |
业务请求参数列表
参数名 |
参数类型 |
详细描述 |
iotId |
String |
设备ID |
cols |
List |
需要查询的列 |
tableName |
String |
表名称 |
expr |
|
查询对象表达式对象 |
orderBy |
|
排序设置 col: 列名 type:“asc”(升序),“desc”(降序)。 示例:[{“col”:“id”,“type”:“asc”}] |
pageNo |
Integer |
分页位置,最小1 |
| pageSize | Integer | 分页大小 |
查询对象表达式对象
参数名 |
参数类型 |
详细描述 |
op |
String |
and /or |
filters |
List |
多个过滤对象 |
exprs |
List |
多个查询表达式对象 |
过滤对象对象
参数名 |
参数类型 |
详细描述 |
col |
String |
匹配字段 |
comp |
String |
比较操作符 = != > < >= <= in not-in like not-like |
val |
Object |
比较值 |
Example
{
"iotId": "DTfdxTcIXpDfesrpo7Ur001055ed00",
"cols": [
"iot_id",
"attribute",
"count_Num",
"date_time"
],
"expr": {
"filters": [
{
"col": "date_time",
"comp": ">=",
"val": "2018-09-09 00:00:01",
"valueType": "int"
},
{
"col": "date_time",
"comp": "<",
"val": "2018-09-16 00:00:01",
"valueType": "int"
}
],
"op": "and"
},
"pageNo": 1,
"pageSize": 10,
"tableName": "ads_ilop_kv_count_di"
}
业务响应参数列表
参数名 |
参数类型 |
详细描述 |
code |
INT |
|
data |
JSONObject |
自建表查询结果 |
message |
String |
错误信息提示,不通错误提示不同 |
response 格式
{
"code": 200,
"data": xxxx
}
{
"code": 460,
"message": "request parameter error."
}
Example
{
"code": 200,
"data": [{
"count_Num": 7,
"iot_id": "BPLjau0xw3CyuRKcOtUj0010348a00",
"date_time": "2018-04-19 00:00:00",
"attribute": "_sys_device_pid"
}]
}
接口支持的表以及列信息
数据表 |
目的 |
ads_ilop_kv_count_di |
查询某属性行数接口时采用表 |
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设备能力属性信息明细表'
;
CREATE TABLE `ads_ilop_kv_state_hourly` (
`scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
`iot_id` varchar(100) NOT NULL COMMENT '设备id',
`attribute` varchar(50) NOT NULL COMMENT '属性名',
`sum_num` bigint(11) DEFAULT 0 COMMENT '求和',
`avg_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数据通用聚合服务属性统计小时表';
CREATE TABLE `ads_ilop_kv_state_daily` (
`scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
`iot_id` varchar(100) NOT NULL COMMENT '设备id',
`attribute` varchar(50) NOT NULL COMMENT '属性名',
`sum_num` bigint(11) DEFAULT 0 COMMENT '求和',
`avg_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数据通用聚合服务属性统计日表';
CREATE TABLE `ads_ilop_kv_state_monthly` (
`scope_id` varchar(100) NOT NULL COMMENT '资源隔离id',
`iot_id` varchar(100) NOT NULL COMMENT '设备id',
`attribute` varchar(50) NOT NULL COMMENT '属性名',
`sum_num` bigint(11) DEFAULT 0 COMMENT '求和',
`avg_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数据通用聚合服务属性统计月表';
数据表 |
目的 |
ads_ilop_event_count_di |
事件信息记录聚合 |
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事件信息聚合表';