Search Event


按条件分页搜索事件。

操作权限

需授权的资源

所需操作权限

资产

Read

请求格式

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。如何获取 assetId 信息>>

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条。为获得最佳性能,建议每页不超过50条。不支持使用 sorters 参数对结果进行排序,查询结果按照 createTime,最近创建的靠前排列。详见 Pagination 请求结构体>>

resolveName

可选

Boolean

  • true:分解 output 信息,返回 eventNameoutputNames 参数。

  • false(默认):不分解 output 信息。eventNameoutputNames 参数皆为空值。

响应参数

名称

数据类型

描述

data

Event 结构体数组

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

示例

请求示例

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

返回示例

{
  "code": 0,
  "msg": "OK",
  "requestId": "7b5d3c98-27bd-435c-a8e5-ffd0c91e679f",
  "data": [
    {
      "eventId": "2021032347372528c9dd2035cdf169f6e60c6d1a",
      "orgId": "yourOrgId",
      "productKey": "yourProductKey",
      "deviceKey": "yourDeviceKey",
      "assetId": "yourAssetId",
      "tslEventKey": "yourEventKey",
      "tslEventType": "INFO",
      "output": "{\"breakdown\":0}",
      "outputData": {
          "breakdown": 0
      },
      "timestamp": 1616495975000,
      "localtime": "2021-03-23 18:39:35",
      "eventName": {
        "defaultValue": "event",
        "i18nValue": {}
      },
      "outputNames": {
        "breakdown": {
          "defaultValue": "breakdown",
          "i18nValue": {
            "en_US": "breakdown",
            "zh_CN": "分解"
          }
        }
      }
    }
  ],
  "pagination": {
    "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");
        request.setResolveName(true);
        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);
        }
    }
}