Update Thing Model¶
更新模型。
操作权限¶
需授权的资源 |
所需操作权限 |
---|---|
模型 |
Update |
请求格式¶
POST https://{apigw-address}/model-service/v2.1/thing-models?action=update
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
模型所属的 OU ID。如何获取 orgId 信息>> |
isPatchUpdate |
Query |
可选 |
Boolean |
是否是局部更新,默认为
|
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
modelId |
必需 |
String |
模型标识符。 |
name |
|
StringI18n |
模型名称,其结构参见 国际化名称结构体。 |
desc |
可选 |
String |
模型描述。 |
category |
可选 |
String |
模型分类。 |
tags |
可选 |
Map (Key 为 String,Value 为 String) |
用户自定义标签。 |
featuresToDelete |
可选 |
String Array |
需要删除的 features ID 列表。只有 |
attributes |
可选 |
Map(Key 为 String,Value 为 |
静态属性定义的 map 类型值,key 为静态属性 ID,value 为属性定义。属性定义的结构参见 ThingAttribute 结构体。
|
measurepoints |
可选 |
Map(Key 为 String,Value 为 |
测点定义的 map 类型值,key 为测点 ID,value 为测点定义。测点定义的结构参见 ThingMeasurepoint 结构体。
|
services |
可选 |
Map(Key 为 String,Value 为 |
服务定义的 map 类型值,key 为服务 ID,value 为服务定义。服务定义的结构参见 ThingService 结构体。
|
events |
可选 |
Map(Key 为 String,Value 为 |
事件定义的 map 类型值,key 为事件 ID,value 为事件定义。事件定义的结构参见 ThingEvent 结构体。
|
ThingAttribute 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
identifier |
可选 |
String |
属性 ID。 |
dataType |
可选 |
String |
数据类型。比如:ARRAY、BOOL、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition |
可选 |
String |
本结构体内 |
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 |
本结构体内 |
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 已废弃,未来会删除,请不要使用。调用类型。 |
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 |
事件类型。有 |
ThingDatapoint 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
identifier |
可选 |
String |
点 ID。 |
dataType |
可选 |
String |
数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition |
可选 |
String |
本结构体内 |
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
错误码¶
代码 |
描述 |
---|---|
10404 |
模型不存在。 |
10945 |
模型元素与父子模型冲突 |
10952 |
模型四要素的数量超过限制 |
示例¶
请求示例¶
url: https://{apigw-address}/model-service/v2.1/thing-models?action=update&orgId=yourOrgId&isPatchUpdate=true
method: POST
requestBody:
{
"modelId": "yourModelId",
"name": {
"defaultValue": "Device Name",
"i18nValue": {
"zh_CN": "设备名称",
"en_US": "Device Name"
}
},
"desc": "jw-1112",
"category": "system",
"tags": {
"group": "1"
},
"attributes": {
"capacity": {
"identifier": "capacity",
"name": {
"defaultValue": "capacity",
"i18nValue": {
"en_US": "capacity",
"zh_CN": "容量"
}
},
"desc": "Capacity",
"i18nDesc": {
"defaultValue": "Capacity description",
"i18nValue": {
"en_US": "Capacity description",
"zh_CN": "容量描述"
}
},
"tags": {
"cap": "1"
},
"stdElementId": "urn:user:modelelement:std:atom-property-int:1.0",
"isStdElement": true,
"dataType": "INT",
"unit": {
"unitId": "G",
"multiplier": "ONE"
},
"dataDefinition": null,
"isRequired": true,
"defaultValue": 111
}
},
"measurepoints": {
"ActiveSC": {
"identifier": "ActiveSC",
"name": {
"defaultValue": "活动状态字",
"i18nValue": {
"en_US": "ActiveSC_Name"
}
},
"desc": "ActiveSC desc",
"i18nDesc": {
"defaultValue": "ActiveSC desc",
"i18nValue": {
"en_US": "ActiveSC desc",
"zh_CN": "活动状态描述"
}
},
"tags": {},
"stdElementId": null,
"isStdElement": false,
"dataType": "INT",
"unit": null,
"dataDefinition": null,
"hasQuality": false,
"signalType": "DI"
}
},
"services": {
"speedup": {
"identifier": "speedup",
"name": {
"defaultValue": "speedup",
"i18nValue": {
"en_US": "speedup"
}
},
"desc": "Speedup",
"i18nDesc": {
"defaultValue": "Speedup",
"i18nValue": {
"en_US": "Speedup",
"zh_CN": "加速"
}
},
"tags": null,
"stdElementId": null,
"isStdElement": false,
"outputData": [
{
"identifier": "delta",
"name": {
"defaultValue": "delta",
"i18nValue": {
"en_US": "delta"
}
},
"desc": "Delta",
"i18nDesc": {
"defaultValue": "Delta",
"i18nValue": {
"en_US": "Delta",
"zh_CN": "Delta 描述"
}
},
"tags": {},
"stdElementId": null,
"isStdElement": false,
"dataType": "INT",
"unit": null,
"dataDefinition": null
}
],
"inputData": [
{
"identifier": "delta",
"name": {
"defaultValue": "delta",
"i18nValue": {
"en_US": "delta"
}
},
"desc": "Delta",
"i18nDesc": {
"defaultValue": "Delta",
"i18nValue": {
"en_US": "Delta",
"zh_CN": "Delta 描述"
}
},
"tags": {},
"stdElementId": null,
"isStdElement": false,
"dataType": "INT",
"unit": {
"unitId": "rpm",
"multiplier": "ONE"
},
"dataDefinition": null,
"isRequired": false,
"defaultValue": null
}
],
"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": null,
"stdElementId": null,
"isStdElement": false,
"outputData": [
{
"identifier": "event1",
"name": {
"defaultValue": "event1",
"i18nValue": {
"en_US": "event1"
}
},
"desc": "Event 1",
"i18nDesc": {
"defaultValue": "Event 1",
"i18nValue": {
"en_US": "Event 1",
"zh_CN": "事件"
}
},
"tags": {},
"stdElementId": null,
"isStdElement": false,
"dataType": "INT",
"unit": null,
"dataDefinition": null
}
],
"eventType": "ERROR"
}
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "fa11232e-7e45-4176-a382-963c1240a27f"
}
SDK 示例¶
你可以在 Github 上获取模型服务的 SDK 示例: