Agrega una función de Thing Specification Language (TSL) a un producto específico. Puede especificar la información extendida sobre la función.
Límites
Si un producto ya está publicado, debe llamar a la operación CancelReleaseProduct para cancelar su publicación antes de invocar esta operación.
Antes de llamar a la operación, puede utilizar la biblioteca json-schema para validar los parámetros de entrada en ThingModelJson. Para obtener más información, consulte Estructura de datos de ThingModelJson.
Esta operación permite agregar un máximo de 10 funciones TSL. 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í | CreateThingModel | La operación que desea ejecutar. Establezca el valor en CreateThingModel. |
| ProductKey | String | Sí | a1BwAGV**** | La clave ProductKey del producto. Puede consultar ProductKey en la página de detalles del producto en la consola de IoT Platform. También puede obtener ProductKey mediante la operación QueryProductList. |
| IotInstanceId | String | No | iot-cn-0pp1n8t**** | El ID de la instancia. Puede consultar 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. |
| 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": "a1bPo9p****", "required": false, "customFlag": true, "name": "SIM card type" } ], "services":[...], "events":[...] } | Los detalles de las nuevas funciones. Nota Puede especificar un máximo de 10 funciones. Ejemplo: En la estructura properties del parámetro ThingModelJson, puede usar el parámetro extendConfig para definir la información extendida del modelo TSL. Para obtener más información, 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. El identificador debe tener entre 1 y 30 caracteres de longitud, y puede contener letras, dígitos y guiones bajos (_). Este parámetro debe usarse junto con el parámetro FunctionBlockName. Si no especifica este parámetro, el sistema importa el módulo predeterminado. |
| FunctionBlockName | String | No | Battery_Module | El nombre del módulo personalizado. El nombre debe tener entre 4 y 30 caracteres de longitud, y puede contener letras, dígitos y guiones bajos (_). Este parámetro debe usarse junto con el parámetro FunctionBlockId. Si no especifica este parámetro, el sistema importa el módulo predeterminado. |
Además de los parámetros de solicitud específicos de la operación mencionados anteriormente, debe especificar los parámetros de solicitud comunes al llamar a esta operación. Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| Code | String | iot.system.SystemException | El código de error devuelto si 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 si la llamada falla. |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | El ID de la solicitud. |
| Success | Boolean | true | Indica si la llamada se realizó correctamente.
|
Ejemplos
Solicitudes de ejemplo
https://iot.cn-shanghai.aliyuncs.com/?Action=CreateThingModel
&ProductKey=a1bPo9p****
&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": "a1bPo9p****","required": false,"customFlag": true, "name": "SIM card type"}]}
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
<CreateThingModelResponse>
<RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
<Success>true</Success>
</CreateThingModelResponse>
Formato JSON
{
"RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
"Success": true
}
Códigos de error
Para consultar una lista de códigos de error, visite el Centro de errores de API.