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"
}