Actualiza una función de Thing Specification Language (TSL) de un producto específico. También permite actualizar la información extendida de dicha función.
Límites
Si el producto ya se publicó, llame a la operación CancelReleaseProduct para anular su publicación antes de invocar esta operación.
Al llamar a esta operación, utilice la biblioteca json-schema para comprobar los parámetros de entrada en ThingModelJson. Para obtener más información, consulte Estructura de datos de ThingModelJson.
Esta operación actualiza únicamente una función a la vez. Las funciones TSL incluyen propiedades, servicios y eventos.
-
Cada cuenta de Alibaba Cloud admite un máximo de 5 consultas por segundo (QPS).
NotaLos usuarios RAM de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | UpdateThingModel | La operación que desea ejecutar. Establezca el valor en UpdateThingModel. |
| ProductKey | String | Sí | a1BwAGV**** | El ProductKey del producto. Consulte el ProductKey en la página Product Details de la consola de IoT Platform. También puede obtenerlo mediante la operación QueryProductList. |
| IotInstanceId | String | No | iot-cn-0pp1n8t**** | El identificador de la instancia. Consulte el ID de la instancia en la página Overview de la consola de IoT Platform. Importante
Para obtener más información, consulte Descripción general. |
| Identifier | String | No | Temperature | El identificador de la función. Llame a la operación GetThingModelTsl y busque el identificador en el parámetro de respuesta TslStr. |
| 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" } ] } | Los detalles actualizados de la función.
Para conocer cómo especificar este parámetro, consulte Estructura de datos de ThingModelJson. |
| FunctionBlockId | String | No | BatteryModule | El identificador del módulo TSL personalizado. Cada identificador es único dentro de un producto. Si omite este parámetro o el parámetro FunctionBlockName, el sistema actualiza las funciones del módulo predeterminado. |
| FunctionBlockName | String | No | Battery_Module | El nombre del módulo personalizado. Debe tener entre 4 y 30 caracteres, y solo admite letras, dígitos y guiones bajos (_).
Nota No es posible modificar el nombre del módulo predeterminado. |
Además de los parámetros de solicitud específicos descritos anteriormente, especifique los parámetros de solicitud comunes al invocar esta operación. Para obtener más información, consulte Parámetros de solicitud comunes.
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| Code | String | iot.system.SystemException | El código de error devuelto cuando la llamada falla. Para obtener más información, consulte Códigos de error. |
| ErrorMessage | String | A system exception occurred. | El mensaje de error devuelto cuando la llamada falla. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | El identificador de la solicitud. |
| Success | Boolean | true | Indica si la llamada se completó correctamente.
|
Ejemplos
Solicitudes de ejemplo
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>
Respuestas exitosas de ejemplo
Formato XML
<UpdateThingModelResponse>
<RequestId>5573D217-8E3E-47AD-9331-2083B88E64B2</RequestId>
<Success>true</Success>
</UpdateThingModelResponse>
Formato JSON
{
"RequestId": "5573D217-8E3E-47AD-9331-2083B88E64B2",
"Success": true
}
Códigos de error
Para consultar la lista de códigos de error, visite el centro de errores de API.