数据聚合查询服务

更新时间:2019-05-21 16:22:50

查询数据

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 格式

// 成功的返回值,data的具体内容取决于API的返回值
{
  "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事件信息聚合表';

results matching ""

    No results matching ""