Update Thing Model¶
更新模型。
操作权限¶
确保已获取调用该 API 的权限。更多信息,参见 获取 API 调用权限。
请求格式¶
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 |
模型描述。 |
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(即为模型管理中的命令 ID),value 为服务定义。Value 的结构参见 ThingService 结构体。
|
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 |
支持国际化的属性名称。若指定该参数,则国际化结构中的 |
i18nDesc |
可选 |
StringI18n |
支持国际化的描述。若指定该参数,则国际化结构中的 |
tags |
可选 |
Map (Key 为 String,Value 为 String) |
用户自定义标签。 |
unit |
可选 |
Unit 结构体 |
单位。参见 Unit 结构体。 |
ThingMeasurepoint 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
identifier |
可选 |
String |
测点 ID。 |
dataType |
可选 |
String |
数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition |
可选 |
String |
本结构体内 |
name |
可选 |
StringI18n |
支持国际化的测点名称。若指定该参数,则国际化结构中的 |
i18nDesc |
可选 |
StringI18n |
支持国际化的描述。若指定该参数,则国际化结构中的 |
tags |
可选 |
Map (Key 为 String,Value 为 String) |
用户自定义标签。 |
hasQuality |
可选 |
Boolean |
是否有质量位, |
signalType |
可选 |
String |
数据类型。有如下类型:Generic、AI、PI、DI。 |
unit |
可选 |
Unit 结构体 |
单位。参见 Unit 结构体。 |
ThingService 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
identifier |
可选 |
String |
服务 ID(即为模型管理中的命令 ID)。 |
name |
可选 |
StringI18n |
支持国际化的服务名称(即为模型管理中的命令名称)。若指定该参数,则国际化结构中的 |
desc |
可选 |
String |
模型描述。 |
i18nDesc |
可选 |
StringI18n |
支持国际化的描述。若指定该参数,则国际化结构中的 |
tags |
可选 |
Map (Key 为 String,Value 为 String) |
用户自定义标签。 |
inputData |
可选 |
ThingDatapoint 结构体 |
Service 的入参列表。参见 ThingDatapoint 结构体。 |
outputData |
可选 |
ThingDatapoint 结构体 |
Service 返回参数列表。参见 ThingDatapoint 结构体。 |
ThingDatapoint 结构体 ¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
identifier |
可选 |
String |
调用该命令时需要提供的对象 ID,可以是属性 ID 或测点 ID。 |
dataType |
可选 |
String |
数据类型。比如:ARRAY、DATE、ENUM、INT、FLOAT、DOUBLE、STRUCT、STRING、TIMESTAMP、FILE。 |
dataDefinition |
可选 |
String |
本结构体内 |
name |
可选 |
StringI18n |
支持国际化的名称。若指定该参数,则国际化结构中的 |
i18nDesc |
可选 |
StringI18n |
支持国际化的描述。若指定该参数,则国际化结构中的 |
tags |
可选 |
Map (Key 为 String,Value 为 String) |
自定义标签。 |
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",
"tags": {
"group": "1"
},
"attributes": {
"capacity": {
"identifier": "capacity",
"name": {
"defaultValue": "capacity",
"i18nValue": {
"en_US": "capacity",
"zh_CN": "容量"
}
},
"i18nDesc": {
"defaultValue": "Capacity description",
"i18nValue": {
"en_US": "Capacity description",
"zh_CN": "容量描述"
}
},
"tags": {
"cap": "1"
},
"dataType": "INT",
"unit": {
"unitId": "G",
"multiplier": "ONE"
},
"dataDefinition": null,
"isRequired": true,
"defaultValue": 111
}
},
"measurepoints": {
"ActiveSC": {
"identifier": "ActiveSC",
"name": {
"defaultValue": "活动状态字",
"i18nValue": {
"en_US": "ActiveSC_Name"
}
},
"i18nDesc": {
"defaultValue": "ActiveSC desc",
"i18nValue": {
"en_US": "ActiveSC desc",
"zh_CN": "活动状态描述"
}
},
"tags": {},
"dataType": "INT",
"unit": null,
"dataDefinition": null,
"hasQuality": false,
"signalType": "DI"
}
},
"services": {
"speedup": {
"identifier": "speedup",
"name": {
"defaultValue": "speedup",
"i18nValue": {
"en_US": "speedup"
}
},
"i18nDesc": {
"defaultValue": "Speedup",
"i18nValue": {
"en_US": "Speedup",
"zh_CN": "加速"
}
},
"tags": null,
"outputData": [
{
"identifier": "delta",
"name": {
"defaultValue": "delta",
"i18nValue": {
"en_US": "delta"
}
},
"i18nDesc": {
"defaultValue": "Delta",
"i18nValue": {
"en_US": "Delta",
"zh_CN": "Delta 描述"
}
},
"tags": {},
"dataType": "INT",
"unit": null,
"dataDefinition": null
}
],
"inputData": [
{
"identifier": "delta",
"name": {
"defaultValue": "delta",
"i18nValue": {
"en_US": "delta"
}
},
"i18nDesc": {
"defaultValue": "Delta",
"i18nValue": {
"en_US": "Delta",
"zh_CN": "Delta 描述"
}
},
"tags": {},
"dataType": "INT",
"unit": {
"unitId": "rpm",
"multiplier": "ONE"
},
"dataDefinition": null,
"isRequired": false,
"defaultValue": null
}
]
}
}
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "fa11232e-7e45-4176-a382-963c1240a27f"
}
SDK 示例¶
你可以在 Github 上获取模型服务的 SDK 示例: