Search Event

按条件分页搜索事件。

操作权限

需授权的资源

所需操作权限

资产

Control

请求格式

POST https://{apigw-address}/connect-service/v2.1/events?action=search

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织ID。如何获取orgId信息>>

请求参数(Body)

名称

必需/可选

数据类型

描述

productKey

可选

String

Product Key.

deviceKey

可选

String

Device Key.

assetId

可选

String

资产ID。如何获取Asset ID信息>>

tslEventKey

可选

String

事件key

tslEventType

可选

String

事件类型。

startTime

可选

String

开始时间,针对事件的发生时间而言,格式yyyy-MM-dd HH:mm:ss代表查询本地时间,yyyy-MM-ddTHH:mm:ssZ代表utc时间,如果不填,默认最近一周的数据。

endTime

可选

String

结束时间,针对事件的发生时间而言,格式yyyy-MM-dd HH:mm:ss代表查询本地时间,yyyy-MM-ddTHH:mm:ssZ代表UTC时间,如果不填,默认最近一周的数据。

expression

可选

String

查询表达式,支持类sql的查询。目前支持查询的字段是 productKeydeviceKeyassetIdtslEventKeytslEventType。支持的算术运算符是=、in,逻辑运算符是and和or。如何使用查询表达式>>

pagination

可选

Pagination请求结构体

分页参数。如未指定,默认每页10条。不支持使用 sorters 参数对结果进行排序,查询结果按照 createTime ,最近创建的靠前排列。参见 Pagination请求结构体>>

响应参数

名称

数据类型

描述

data

Event结构体数组

有关event结构体的定义,见 Event结构体>>

Event结构体

名称

数据类型

描述

orgId

String

资产所属的组织ID

eventId

String

事件ID

productKey

String

Product Key

deviceKey

String

Device Key

assetId

String

资产ID

tslEventKey

String

TSL模型中的事件Key

tslEventType

String

TSL模型中定义的事件类型

output

String

事件的输出

timestamp

String

事件发生时间戳

localtime

String

事件发生本地时间

示例

请求示例

url:https://{apigw-address}/connect-service/v2.1/events?action=search&orgId=yourOrgId
method: POST
requestBody:
{
    "pagination":{
        "pageNo":1,
        "pageSize":2
    },
    "action":"search"
}

返回示例

{
    "code":0,
    "msg":"OK",
    "requestId":"aae68461-f211-406f-9959-d04af12f28b1",
    "data":[
        {
            "eventId":"20190506587247156ca85be5e3422d30e2642dd1",
            "orgId":"yourOrgId",
            "productKey":"yourProductKey",
            "deviceKey":"yourDeviceKey",
            "assetId":"wNzx7q3S",
            "tslEventKey":"guzang01",
            "tslEventType":"INFO",
            "output":"{\"float\":116}",
            "timestamp":"1557113821000",
            "localtime":"2019-05-06 11:37:01"
        }
    ],
    "pagination":{
        "sortedBy":null,
        "pageNo":1,
        "pageSize":2,
        "totalSize":1
    }
}

Java SDK调用示例

package com.envisioniot.enos.api.sample.connect_service.event;

import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envisioniot.enos.api.common.constant.request.Pagination;
import com.envisioniot.enos.connect_service.v2_1.event.SearchEventRequest;
import com.envisioniot.enos.connect_service.v2_1.event.SearchEventResponse;
import com.google.gson.Gson;

public class SearchEvent {
    public static void main(String[] args) {


        String appKey = "yourAppKey";
        String appSecret = "yourAppSecret";

        SearchEventRequest request = new SearchEventRequest();
        Pagination pagination = new Pagination();
        pagination.setPageNo(1);
        pagination.setPageSize(2);
        request.setPagination(pagination);
        request.setOrgId("yourOrgId");
        try {
            SearchEventResponse response = Poseidon.config(PConfig.init().appKey(appKey).appSecret(appSecret).debug())
                    .url("yourServerUrl")
                    .getResponse(request, SearchEventResponse.class);
            Gson gson = new Gson();
            System.out.println(gson.toJson(response));
        } catch (Exception e) {
            System.out.print(e);
        }
    }
}