Todos los productos
Search
Centro de documentos

IoT Platform:CreateThingModel

Última actualización: Sep 03, 2026

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).

    Nota

    Los usuarios RAM de una cuenta de Alibaba Cloud comparten la cuota de dicha cuenta.

Depuración

OpenAPI Explorer calcula automáticamente el valor de la firma. Para mayor comodidad, le recomendamos llamar a esta operación desde OpenAPI Explorer. Esta herramienta genera dinámicamente código de ejemplo de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíCreateThingModel

La operación que desea ejecutar. Establezca el valor en CreateThingModel.

ProductKeyStringSí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.

IotInstanceIdStringNoiot-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
  • Si su instancia tiene un ID, debe configurar este parámetro. Si no establece este parámetro, la llamada fallará.
  • Si su instancia no tiene una página Overview o ID, no necesita establecer este parámetro.

Para obtener más información, consulte Descripción general.

ThingModelJsonStringNo{ "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:

{
  "properties": [
    {
      "custom": true,
      "dataSpecsList": [
        {
          "childDataType": "TEXT",
          "childName": "CCID number of the device SIM card",
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 20
          },
          "dataType": "STRUCT",
          "identifier": "CCID",
          "name": "CCID number of the device SIM card"
        },
        {
          "childDataType": "INT",
          "childName": "Battery power",
          "dataSpecs": {
            "custom": true,
            "dataType": "INT",
            "max": "60000",
            "min": "0",
            "step": "1"
          },
          "dataType": "STRUCT",
          "identifier": "battery",
          "name": "Battery power"
        },
        {
          "childDataType": "TEXT",
          "childName": "Other information",
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 1024
          },
          "dataType": "STRUCT",
          "identifier": "other_info",
          "name": "Other information"
        }
      ],
      "dataType": "STRUCT",
      "identifier": "DEV_INFO",
      "name": "Device information",
      "productKey": "a1T***",
      "propertyId": 18786548,
      "required": false,
      "rwFlag": "READ_ONLY"
    },
    {
      "custom": true,
      "dataSpecs": {
        "childDataType": "INT",
        "custom": true,
        "dataType": "ARRAY",
        "size": 1,
        "dataSpecs": {
          "custom": true,
          "dataType": "INT",
          "max": "65535",
          "min": "0",
          "step": "1",
          "unit": "ppm",
          "unitName": "Parts per million"
        }
      },
      "dataType": "ARRAY",
      "identifier": "airRH_SR",
      "name": "Dehumidifier humidity",
      "productKey": "a1T***",
      "propertyId": 18786551,
      "required": false,
      "rwFlag": "READ_ONLY"
    }
  ],
  "services": [...],
  "events": [...]
}
                                

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.

FunctionBlockIdStringNoBatteryModule

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.

FunctionBlockNameStringNoBattery_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ámetroTipoEjemploDescripción
CodeStringiot.system.SystemException

El código de error devuelto si la llamada falla. Para obtener más información, consulte Códigos de error.

ErrorMessageStringA system exception occurred.

El mensaje de error devuelto si la llamada falla.

RequestIdStringE55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

El ID de la solicitud.

SuccessBooleantrue

Indica si la llamada se realizó correctamente.

  • true: La llamada fue exitosa.
  • false: La llamada falló.

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.