通用聚合服务

更新时间:2018-09-14 16:56:00

查询数据

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"
}

错误码

错误码 错误信息 来源 描述
200 success 系统 成功
400 request error. 系统 请求错误
401 request auth error. 系统 请求认证错误
403 request forbidden. 系统 请求被禁止
404 service not found. 系统 服务未找到
429 too many requests. 系统 太多请求
460 request parameter error. 系统 请求参数错误
500 service error. 系统 服务端错误
503 service not available. 系统 服务不可用

接口支持的表以及列信息

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、事件信息记录聚合

ads_ilop_event_count_di

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

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 ""