V2.1 Search Thing Model(待下线)¶
根据表达式或模型关系搜索模型。
如果你需要在调用 Update Thing Model API 后调用当前 API,建议间隔 2 秒左右,以免获取到未更新数据。
此版本将不再维护,推荐使用 V2.2 Search Thing Model。
请求格式¶
POST https://{apigw-address}/model-service/v2.1/thing-models?action=search
请求参数(URI)¶
名称 | 位置(Path/Query) | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|---|
orgId | Query | 必需 | String | 模型所属的 OU ID。如何获取 orgId 信息>> |
scope | Query | 可选 | Integer |
该参数默认值为 1。 |
请求头(Header)¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
response-format-type | 可选 | String | 指定返回结果的结构类型。
|
请求参数(Body)¶
注解
可使用 expression
或 relationFilter
进行搜索,但不能同时使用。
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
expression | 可选 | String | 查询表达式,支持类 SQL 的查询。目前支持查询的字段是
|
projection | 可选 | Projection 结构体 | 对返回结果进行裁剪。对于符合条件的搜索仅返回符合条件的字段,不设置则默认返回全部字段。支持设置的字段有: 注:EnOS Edge 不支持该参数。 |
pagination | 可选 | Pagination 结构体 | 分页参数。如未指定,默认每页 10 条。注意:如果 pageSize 设的偏大,在模型比较大的情况下,接口响应时间会明显增加。为获得最佳性能,建议每页不超过 25 条。不支持使用 sorters 参数对结果进行排序。Pagination 请求结构体>> |
relationFilter | 可选 | RelationFilter 结构体 | 根据模型之间的关系进行查询。其结构参见 RelationFilter 结构体。 |
RelationFilter 结构体 ¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
relatedModelId | 必需 | String | 模型 ID。 |
relationType | 必需 | String | 与
|
响应参数¶
名称 | 数据类型 | 描述 |
---|---|---|
data | ThingModel 数组结构体或 Items 数组结构体 |
|
ThingModel 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
modelId | String | 模型 ID。 |
modelIdPath | String | 模型继承路径。 |
orgId | String | 创建该模型的 OU ID。例如,OU B 的某一模型是从 OU A 共享而来,在 OU B 中查询该模型的信息,返回的 OU ID 将是 OU A。 |
name | StringI18n | 模型名称。 |
desc | String | 模型描述。 |
category | String | 模型分类。 |
tags | Map(Key 为 String,Value 为 String) | 用户自定义标签。 |
attributes | Map(Key 为 String,Value 为 ThingAttribute 结构体) |
静态属性定义的 map 类型值, key 为静态属性ID, value 为属性定义。属性定义的结构参见 ThingAttribute 结构体。 |
measurepoints | Map(Key 为 String,Value 为 ThingMeasurepoint 结构体) |
测点定义的 map 类型值,key 为测点ID, value 为测点定义。测点定义的结构参见 ThingMeasurepoint 结构体。 |
services | Map(Key 为 String,Value 为 ThingService 结构体) |
服务定义的 map 类型值, key 为服务ID, value 为服务定义。服务定义的结构参见 ThingService 结构体。 |
events | Map(Key 为 String,Value 为 ThingEvent 结构体) |
事件定义的 map 类型值, key 为事件ID, value 为事件定义。事件定义的结构参见 ThingEvent 结构体。 |
ThingAttribute 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
identifier | String | 属性ID。 |
dataType | String | 数据类型。比如:ARRAY、BOOL、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition | String | 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>> |
isRequired | Boolean | 是否是必须的属性。如果为 true,则要求资产在实例化的时候必须设置该属性的值,否则资产在创建的时候会返回校验失败的错误。 |
defaultValue | 根据属性的定义决定 | 属性的默认值。如果没有设置默认值,则为 null。 注:EnOS Edge 不支持该参数。 |
name | StringI18n | 支持国际化的属性名称。 |
desc | String | 属性描述。 |
i18nDesc | StringI18n | 支持国际化的描述。 |
tags | Map (Key 为 String,Value 为 String) | 用户自定义标签。 |
isStdElement | Boolean | 是否是标准元素。 注:EnOS Edge 不支持该参数。 |
stdElementId | String | 当元素是标准元素时,标准元素的URN,其命名格式为 urn:enos:modelelement:std: 注:EnOS Edge 不支持该参数。 |
unit | Unit 结构体 | 单位。参见 Unit 结构体。 |
ThingMeasurepoint 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
identifier | String | 测点 ID |
dataType | String | 数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition | String | 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>> |
name | StringI18n | 支持国际化的测点名称。 |
desc | String | 测点描述。 |
i18nDesc | StringI18n | 支持国际化的描述。 |
tags | Map (Key 为 String,Value 为 String) | 用户自定义标签。 |
isStdElement | Boolean | 是否是标准元素。 注:EnOS Edge 不支持该参数。 |
stdElementId | String | 当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: 注:EnOS Edge 不支持该参数。 |
hasQuality | Boolean | 是否有质量位。 |
signalType | String | 信号类型。有如下类型:Generic、AI、PI、DI。 |
unit | Unit 结构体 | 单位。参见 Unit 结构体。 |
ThingService 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
identifier | String | 服务 ID。 |
name | StringI18n | 支持国际化的服务名称。 |
desc | String | 服务描述。 |
i18nDesc | StringI18n | 支持国际化的描述。 |
tags | Map (Key 为 String,Value 为 String) | 用户自定义标签。 |
isStdElement | Boolean | 是否是标准元素。 注:EnOS Edge 不支持该参数。 |
stdElementId | String | 当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: 注:EnOS Edge 不支持该参数。 |
inputData | ThingDatapoint 结构体 | Service 的入参列表。 参数定参见 ThingDatapoint 结构体。 |
outputData | ThingDatapoint 结构体 | Service 返回参数列表。 参数定参见 ThingDatapoint 结构体。 |
callType | String | 注意:callType 已废弃,未来会删除,请不要使用。调用类型。 SYNC 表示同步, ASYNC 表示异步。 |
ThingEvent 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
identifier | String | 事件 ID。 |
name | StringI18n | 支持国际化的事件名称。 |
desc | String | 事件描述。 |
i18nDesc | StringI18n | 支持国际化的描述。 |
tags | Map (Key 为 String,Value 为 String) | 用户自定义标签。 |
isStdElement | Boolean | 是否是标准元素。 注:EnOS Edge 不支持该参数。 |
stdElementId | String | 当元素是标准元素时,标准元素的URN,其命名格式为 urn:enos:modelelement:std: 注:EnOS Edge 不支持该参数。 |
outputData | ThingDatapoint 结构体 | Event返回参数列表。 参数定参见 ThingDatapoint 结构体。 |
eventType | String | 事件类型。有 INFO 、 WARN 、 ERROR 三种取值。 |
ThingDatapoint 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
identifier | String | 点 ID。 |
dataType | String | 数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition | String | 本结构体内 datatype 的数据定义,是一个 JSON 字符串。如对于 String 的数据类型,需要定义长度。对于 enum 的数据类型需要定义取值及描述。如何使用 dataDefinition>> |
name | StringI18n | 支持国际化的测点名称。 |
desc | String | 测点描述。 |
i18nDesc | StringI18n | 支持国际化的描述。 |
tags | Map (Key 为 String,Value 为 String) | 用户自定义标签。 |
isStdElement | Boolean | 是否是标准元素。 注:EnOS Edge 不支持该参数。 |
stdElementId | String | 当元素是标准元素时,标准元素的 URN,其命名格式为 urn:enos:modelelement:std: 注:EnOS Edge 不支持该参数。 |
unit | Unit 结构体 | 单位。参见 Unit 结构体。 |
isRequired | Boolean | 仅支持模型服务的 注:EnOS Edge 不支持该参数。 |
defaultValue | 根据点的数据类型决定 | 点的默认值。如果没有设置默认值,则为 null。仅支持模型服务的 注:EnOS Edge 不支持该参数。 |
Unit 结构体 ¶
名称 | 数据类型 | 描述 |
---|---|---|
unitId | String | 单位的标识符。 |
multiplier | String | 单位的乘数。参见 Multiplier。 |
Multiplier ¶
单位的乘数有如下取值:
YOTTA ,//Y 10^24
ZETTA ,//Z 10^21
EXA ,//E 10^18
PETA ,//P 10^15
TERA ,//T 10^12
GIGA ,//G 10^9
MEGA ,//M 10^6
KILO ,//k 10^3
HECTO ,//h 10^2
DECA ,//da 10^1
ONE ,// 10^0
DECI ,//d 10^-1
CENTI ,//c 10^-2
MILLI ,//m 10^-3
MICRO ,//μ 10^-6
NANO ,//n 10^-9
PICO ,//p 10^-12
FEMTO ,//f 10^-15
ATTO ,//a 10^-18
ZEPTO ,//z 10^-21
YOCTO ,//y 10^-24
错误码¶
参见 公共返回码(接入服务)。
示例¶
请求示例¶
根据表达式搜索¶
url: https://{apigw-address}/model-service/v2.1/thing-models?action=search&orgId=yourOrgId&scope=1
method: POST
requestBody:
{
"expression": "modelId in ('planet', 'noiseSensor')", // tags example: "tags.abc like '123'"
"pagination": {
"pageNo": 1,
"pageSize": 10
}
}
根据模型关系搜索¶
url: https://{apigw-address}/model-service/v2.1/thing-models?action=search&orgId=yourOrgId&scope=1
method: POST
requestBody:
{
"relationFilter": {
"relatedModelId": "modelId",
"relationType": "childOfModel"
},
"pagination": {
"pageNo": 1,
"pageSize": 10
}
}
返回示例¶
ThingModel 数组结构体 ¶
{
"code":0,
"msg":"OK",
"requestId":"c6594307-bc30-4380-9869-b8a88b9494de",
"data":[
{
"modelId":"planet",
"modelIdPath":"/planet",
"orgId":"yourOrgId",
"name":{
"defaultValue":"planet",
"i18nValue":{
"en_US":"planet"
}
},
"desc":"Planet",
"category":"Planets",
"tags":{
},
"attributes":{
"starsystem":{
"identifier":"starsystem",
"name":{
"defaultValue":"star system",
"i18nValue":{
"en_US":"star system"
}
},
"desc":"Star system 1",
"i18nDesc":{
"defaultValue":"Star system 1",
"i18nValue":{
"en_US":"Star system 1",
"zh_CN":"星系 1"
}
},
"tags":{
},
"stdElementId":"urn:user:modelelement:std:atom-property-int:1.0",
"isStdElement":true,
"dataType":"STRING",
"unit":null,
"isRequired":false,
"defaultValue":null
}
},
"measurepoints":{
"temperature":{
"identifier":"temperature",
"name":{
"defaultValue":"temperature",
"i18nValue":{
"en_US":"temperature"
}
},
"desc":"Temperature",
"i18nDesc":{
"defaultValue":"Temperature",
"i18nValue":{
"en_US":"Temperature",
"zh_CN":"温度"
}
},
"tags":{
},
"stdElementId":"urn:user:modelelement:std:atom-property-int:1.0",
"isStdElement":true,
"dataType":"FLOAT",
"hasQuality":false,
"signalType":"Generic",
"unit":{
"unitId":"°C",
"multiplier":"ONE"
}
}
},
"services":{
"speedup":{
"identifier":"speedup",
"name":{
"defaultValue":"speedup",
"i18nValue":{
"en_US":"speedup"
}
},
"desc":"Speedup",
"i18nDesc":{
"defaultValue":"Speedup",
"i18nValue":{
"en_US":"Speedup",
"zh_CN":"加速"
}
},
"tags":{
},
"outputData":[
{
"identifier":"delta",
"name":{
"defaultValue":"delta",
"i18nValue":{
"en_US":"delta"
}
},
"desc":"Delta",
"i18nDesc":{
"defaultValue":"Delta",
"i18nValue":{
"en_US":"Delta",
"zh_CN":"Delta 描述"
}
},
"tags":{
},
"dataType":"INT",
"unit":null
}
],
"inputData":[
{
"identifier":"delta",
"name":{
"defaultValue":"delta",
"i18nValue":{
"en_US":"delta"
}
},
"desc":"Delta",
"i18nDesc":{
"defaultValue":"Delta",
"i18nValue":{
"en_US":"Delta",
"zh_CN":"Delta 描述"
}
},
"tags":{
},
"dataType":"INT",
"unit":{
"unitId":"rpm",
"multiplier":"ONE"
},
"isRequired":false,
"defaultValue":3
}
],
"callType":"ASYNC"
}
},
"events":{
"alert":{
"identifier":"alert",
"name":{
"defaultValue":"alert",
"i18nValue":{
"en_US":"alert"
}
},
"desc":"Alert",
"i18nDesc":{
"defaultValue":"Alert",
"i18nValue":{
"en_US":"Alert",
"zh_CN":"告警"
}
},
"tags":{
},
"outputData":[
{
"identifier":"event1",
"name":{
"defaultValue":"event1",
"i18nValue":{
"en_US":"event1"
}
},
"desc":"Event 1",
"i18nDesc":{
"defaultValue":"Event 1",
"i18nValue":{
"en_US":"Event 1",
"zh_CN":"事件 1"
}
},
"tags":{
},
"dataType":"INT",
"unit":null
}
],
"eventType":"ERROR"
}
}
},
{
"modelId":"noiseSensor",
"modelIdPath":"/noiseSensor",
"orgId":"yourOrgId",
"name":{
"defaultValue":"Noise Sensor",
"i18nValue":{
"en_US":"Noise Sensor"
}
},
"desc":"Noise Sensor",
"category":"Sensors",
"tags":{
"group":"1"
},
"attributes":{
},
"measurepoints":{
},
"services":{
},
"events":{
}
}
],
"pagination":{
"pageNo":1,
"pageSize":10,
"totalSize":2
}
}
Items 数组结构体 ¶
{
"code": 0,
"msg": "OK",
"requestId": "f1364494-fda1-4d28-b1a3-bfbe88c743d7",
"data": {
"items": [
{
"modelId":"planet",
"modelIdPath":"/planet",
"orgId":"yourOrgId",
"name":{
"defaultValue":"planet",
"i18nValue":{
"en_US":"planet"
}
},
"desc":"Planet",
"category":"Planets",
"tags":{
},
"attributes":{
"starsystem":{
"identifier":"starsystem",
"name":{
"defaultValue":"star system",
"i18nValue":{
"en_US":"star system"
}
},
"desc":"Star system 1",
"i18nDesc":{
"defaultValue":"Star system 1",
"i18nValue":{
"en_US":"Star system 1",
"zh_CN":"星系 1"
}
},
"tags":{
},
"stdElementId":"urn:user:modelelement:std:atom-property-int:1.0",
"isStdElement":true,
"dataType":"STRING",
"unit":null,
"isRequired":false,
"defaultValue":null
}
},
"measurepoints":{
"temperature":{
"identifier":"temperature",
"name":{
"defaultValue":"temperature",
"i18nValue":{
"en_US":"temperature"
}
},
"desc":"Temperature",
"i18nDesc":{
"defaultValue":"Temperature",
"i18nValue":{
"en_US":"Temperature",
"zh_CN":"温度"
}
},
"tags":{
},
"stdElementId":"urn:user:modelelement:std:atom-property-int:1.0",
"isStdElement":true,
"dataType":"FLOAT",
"hasQuality":false,
"signalType":"Generic",
"unit":{
"unitId":"°C",
"multiplier":"ONE"
}
}
},
"services":{
"speedup":{
"identifier":"speedup",
"name":{
"defaultValue":"speedup",
"i18nValue":{
"en_US":"speedup"
}
},
"desc":"Speedup",
"i18nDesc":{
"defaultValue":"Speedup",
"i18nValue":{
"en_US":"Speedup",
"zh_CN":"加速"
}
},
"tags":{
},
"outputData":[
{
"identifier":"delta",
"name":{
"defaultValue":"delta",
"i18nValue":{
"en_US":"delta"
}
},
"desc":"Delta",
"i18nDesc":{
"defaultValue":"Delta",
"i18nValue":{
"en_US":"Delta",
"zh_CN":"Delta 描述"
}
},
"tags":{
},
"dataType":"INT",
"unit":null
}
],
"inputData":[
{
"identifier":"delta",
"name":{
"defaultValue":"delta",
"i18nValue":{
"en_US":"delta"
}
},
"desc":"Delta",
"i18nDesc":{
"defaultValue":"Delta",
"i18nValue":{
"en_US":"Delta",
"zh_CN":"Delta 描述"
}
},
"tags":{
},
"dataType":"INT",
"unit":{
"unitId":"rpm",
"multiplier":"ONE"
},
"isRequired":false,
"defaultValue":3
}
],
"callType":"ASYNC"
}
},
"events":{
"alert":{
"identifier":"alert",
"name":{
"defaultValue":"alert",
"i18nValue":{
"en_US":"alert"
}
},
"desc":"Alert",
"i18nDesc":{
"defaultValue":"Alert",
"i18nValue":{
"en_US":"Alert",
"zh_CN":"告警"
}
},
"tags":{
},
"outputData":[
{
"identifier":"event1",
"name":{
"defaultValue":"event1",
"i18nValue":{
"en_US":"event1"
}
},
"desc":"Event 1",
"i18nDesc":{
"defaultValue":"Event 1",
"i18nValue":{
"en_US":"Event 1",
"zh_CN":"事件 1"
}
},
"tags":{
},
"dataType":"INT",
"unit":null
}
],
"eventType":"ERROR"
}
}
},
{
"modelId":"noiseSensor",
"modelIdPath":"/noiseSensor",
"orgId":"yourOrgId",
"name":{
"defaultValue":"Noise Sensor",
"i18nValue":{
"en_US":"Noise Sensor"
}
},
"desc":"Noise Sensor",
"category":"Sensors",
"tags":{
"group":"1"
},
"attributes":{
},
"measurepoints":{
},
"services":{
},
"events":{
}
}
],
"sortedBy": null,
"pageNo": 1,
"pageSize": 10,
"totalRecord": 2
}
}