Deletes one or more Thing Specification Language (TSL) features from a product. The features can be properties, services, or events.
Usage notes
If a product is published, you must call the CancelReleaseProduct operation to unpublish the product before you call the DeleteThingModel operation.
If a new feature or custom TSL module in a product is not published, you can call the DeleteThingModel operation to delete the feature or custom TSL module.
When you call the DeleteThingModel operation, you must specify the ProductKey parameter and at least one of the following parameters: FunctionBlockId, PropertyIdentifier.N, ServiceIdentifier.N, and EventIdentifier.N. The following list describes how the DeleteThingModel operation works:
If you specify only the ProductKey and FunctionBlockId parameters, the operation deletes the specified custom TSL module from the specified product.
If you specify the ProductKey parameter and the PropertyIdentifier.N, ServiceIdentifier.N, or EventIdentifier.N parameter, the operation deletes one or more specified features from the default TSL module of the specified product. The operation deletes the specified features only if the features exist. If the feature IDs that you specify in the PropertyIdentifier.N, ServiceIdentifier.N, and EventIdentifier.N parameters do not exist in the default TSL module, the operation returns an error message to indicate that the specified features do not exist.
If you specify the ProductKey and FunctionBlockId parameters and the PropertyIdentifier.N, ServiceIdentifier.N, or EventIdentifier.N parameter, the operation deletes one or more specified features from the specified custom TSL module in the specified product. The operation deletes the specified features only if the features exist. If the feature IDs that you specify in the PropertyIdentifier.N, ServiceIdentifier.N, and EventIdentifier.N parameters do not exist in the custom TSL module, the operation returns an error message to indicate that the specified features do not exist.
NoteYou can specify up to 10 feature IDs in the PropertyIdentifier.N, ServiceIdentifier.N, or EventIdentifier.N parameter.
After you call the DeleteThingModel operation to delete one or more features from a product, you must call the PublishThingModel operation to re-publish the TSL model of the product. This way, the change takes effect.
QPS limits
You can call this API operation up to five times per second per account.
The 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 | DeleteThingModel | The operation that you want to perform. Set the value to DeleteThingModel. |
IotInstanceId | String | No | iot-cn-0pp1n8t**** | The instance ID. You can view the instance ID on the Overview tab of the IoT Platform console. Important
For more information about instances, see Overview. |
FunctionBlockId | String | No | BatteryModule | The ID of the custom TSL module. Each ID is unique in a product.
|
ProductKey | String | No | a1BwAGV**** | The ProductKey of the product. |
PropertyIdentifier.N | RepeatList | No | Temperature | The IDs of properties that you want to delete. You can specify up to 10 property IDs. |
ServiceIdentifier.N | RepeatList | No | Set | The IDs of services that you want to delete. You can specify up to 10 service IDs. |
EventIdentifier.N | RepeatList | No | OfflineAlert | The IDs of events that you want to delete. You can specify up to 10 event IDs. |
ResourceGroupId | String | No | rg-acfm4l5tcwd**** | The resource group ID. Important IoT Platform supports resource group management only by instance. The ResourceGroupId parameter is invalid. You do not need to specify this parameter. |
In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information about common request parameters, see Common parameters.
Response parameters
Parameter | Type | Example | Description |
Code | String | iot.system.SystemException | The error code returned if the request failed. For more information about error codes, see Error codes. |
ErrorMessage | String | A system exception occurred. | The error message returned if the request failed. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | The request ID. |
Success | Boolean | true | Indicates whether the request was successful. Valid values:
|
Examples
Sample requests
https://iot.cn-shanghai.aliyuncs.com/?Action=DeleteThingModel
&ProductKeySource=a1rYuVF****
&PropertyIdentifier.1=speed
&ServiceIdentifier.1=SetSpeed
&EventIdentifier.1=SpeedAlarm
&<Common request parameters>
Sample success responses
XML
format
<DeleteThingModelResponse>
<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
<Success>true</Success>
</DeleteThingModelResponse>
JSON
format
{
"RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
"Success": true
}
Error codes
For a list of error codes, see Service error codes.