Updates a Thing Specification Language (TSL) feature of a specified product.
Limits
- You can call this operation to update only one feature. TSL features include properties, services, and events.
-
Each Alibaba Cloud account can run a maximum of 5 queries per second (QPS).Note Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | UpdateThingModel |
The operation that you want to perform. Set the value to UpdateThingModel. |
ProductKey | String | Yes | a1BwAGV**** |
The product key. You can view the ProductKey on the Product Details page of the IoT Platform console. You can also obtain the ProductKey by calling the QueryProductList operation. |
IotInstanceId | String | No | iot-cn-0pp1n8t**** |
The instance ID. This parameter is not required for public instances. However, this parameter is required for Enterprise Edition instances. |
Identifier | String | No | Temperature |
The identifier of the feature. To update a feature, you must specify the identifier of the feature. You can call the GetThingModelTsl operation and view the identifier in the TslStr response parameter. |
ThingModelJson | String | No | { "properties":[ { "identifier": "SimCardType", "extendConfig":"{...}", "dataSpecs": { "max": "1", "dataType": "INT", "unit": "mmHg", "min": "0", "step": "1" }, "std": false, "custom": true, "dataType": "INT", "rwFlag": "READ_ONLY", "productKey": "a1Jw4i****", "required": false, "customFlag": true, "name": "SIM card type" } ] } |
The updated details of the feature. Note If you specify the Identifier parameter, you can specify only feature in the ThingModelJson parameter. If you do not specify the Identifier parameter, you can specify a maximum of 10 features in the ThingModelJson parameter.
For more information about how to specify this parameter, see Data structure of ThingModelJson. |
FunctionBlockId | String | No | BatteryModule |
The identifier of a TSL-based custom module. Each identifier is unique in a product. If you do not specify this parameter or the FunctionBlockName parameter, the system updates the features of the default module. |
FunctionBlockName | String | No | Battery_Module |
The name of the custom module. The name must be 4 to 30 characters in length, and can contain letters, digits, and underscores (_).
Note You cannot modify the name of the default module.
|
In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see Common request parameters.
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
Code | String | iot.system.SystemException |
The error code returned if the call fails. For more information, see Error codes. |
ErrorMessage | String | A system exception has occurred. |
The error message returned if the call fails. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 |
The ID of the request. |
Success | Boolean | true |
Indicates whether the call succeeds.
|
Examples
Sample requests
https://iot.cn-shanghai.aliyuncs.com/?Action=UpdateThingModel
&ProductKey=a1Jw4id****
&ThingModelJson={"properties":[{"identifier": "SimCardType","dataSpecs": {"max": "1", "dataType": "INT","unit": "mmHg","min": "0","step": "1"},"std": false,"custom": true,"dataType": "INT","rwFlag": "READ_ONLY","productKey": "a1Jw4id****","required": false,"customFlag": true, "name": "SIM card type"}]}
&Identifier=SimCardType
&<Common request parameters>
Sample success responses
XML
format
<UpdateThingModelResponse>
<RequestId>5573D217-8E3E-47AD-9331-2083B88E64B2</RequestId>
<Success>true</Success>
</UpdateThingModelResponse>
JSON
format
{
"RequestId": "5573D217-8E3E-47AD-9331-2083B88E64B2",
"Success": true
}
Error codes
For a list of error codes, visit the API Error Center.