Search Event¶
按条件分页搜索事件。
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/events?action=search
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织 ID。如何获取 orgId 信息>> |
请求参数(Body)¶
备注
以下非必须字段中,必须提供 assetId
或 productKey
+ deviceKey
的组合,用于指定设备。
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
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 的查询。目前支持查询的字段是 |
pagination |
可选 |
Pagination 请求结构体 |
分页参数。如未指定,默认每页 10 条。为获得最佳性能,建议每页不超过 50 条。不支持使用 |
resolveName |
可选 |
Boolean |
|
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
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 |
事件的输出。 |
outputData |
Map(Key 为 String,Value 为 Object) |
事件的输出 JSON 格式。 |
timestamp |
Long |
事件发生时间戳。 |
localtime |
String |
事件发生本地时间。 |
eventName |
StringI18n |
事件的名称。结构参见 国际化名称结构体。 |
outputNames |
Map(Key 为 String,Value 为 StringI18n) |
事件的输出名称。 |
示例¶
请求示例¶
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);
}
}
}