すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:CreateThingModel

最終更新日:Apr 17, 2025

指定されたプロダクトに Thing Specification Language(TSL)機能を追加します。機能に関する拡張情報を指定できます。

制限

  • プロダクトが公開されている場合は、この操作を呼び出す前に、プロダクトのリリースキャンセル 操作を呼び出してプロダクトの公開を停止する必要があります。
  • 操作を呼び出す前に、json-schema ライブラリを使用して ThingModelJson の入力パラメータを検証できます。詳細については、「ThingModelJson のデータ構造
  • この操作を呼び出して、最大 10 個の TSL 機能を追加できます。TSL 機能には、プロパティ、サービス、イベントが含まれます。
  • 各 Alibaba Cloud アカウントは、最大 5 クエリ/秒(QPS)を実行できます。
    説明 Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。便宜上、OpenAPI Explorer でこの操作を呼び出すことをお勧めします。OpenAPI Explorer は、さまざまな SDK 用の操作のサンプルコードを動的に生成します。

リクエストパラメータ

パラメータタイプ必須説明
ActionStringはいCreateThingModel

実行する操作。値を CreateThingModel に設定します。

ProductKeyStringはいa1BwAGV****

プロダクトの ProductKey

ProductKey は、IoT Platform コンソールの [プロダクトの詳細] ページで確認できます。また、プロダクトリストのクエリ 操作を呼び出すことによって ProductKey を取得することもできます。

IotInstanceIdStringいいえiot-cn-0pp1n8t****

インスタンスの ID。インスタンス ID は、IoT Platform コンソールの 概要 ページで確認できます。

重要
  • インスタンスに ID がある場合は、このパラメータを設定する必要があります。このパラメータを設定しないと、呼び出しは失敗します。
  • インスタンスに 概要 ページまたは ID がない場合は、このパラメータを設定する必要はありません。

詳細については、「概要」をご参照ください。

ThingModelJsonStringいいえ{ "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":[...] }

新しい機能の詳細。

説明 最大 10 個の機能を指定できます。

例:


{
  "properties": [
    {
      "custom": true,
      "dataSpecsList": [
        {
          "childDataType": "TEXT",
          "childName": "デバイス SIM カードの CCID 番号", // Japanese comment
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 20
          },
          "dataType": "STRUCT",
          "identifier": "CCID",
          "name": "デバイス SIM カードの CCID 番号" // Japanese comment
        },
        {
          "childDataType": "INT",
          "childName": "バッテリ電力", // Japanese comment
          "dataSpecs": {
            "custom": true,
            "dataType": "INT",
            "max": "60000",
            "min": "0",
            "step": "1"
          },
          "dataType": "STRUCT",
          "identifier": "battery",
          "name": "バッテリ電力" // Japanese comment
        },
        {
          "childDataType": "TEXT",
          "childName": "その他の情報", // Japanese comment
          "dataSpecs": {
            "custom": true,
            "dataType": "TEXT",
            "length": 1024
          },
          "dataType": "STRUCT",
          "identifier": "other_info",
          "name": "その他の情報" // Japanese comment
        }
      ],
      "dataType": "STRUCT",
      "identifier": "DEV_INFO",
      "name": "デバイス情報", // Japanese comment
      "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": "100 万分の1" // Japanese comment
        }
      },
      "dataType": "ARRAY",
      "identifier": "airRH_SR",
      "name": "除湿機の湿度", // Japanese comment
      "productKey": "a1T***",
      "propertyId": 18786551,
      "required": false,
      "rwFlag": "READ_ONLY"
    }
  ],
  "services": [...],
  "events": [...]
}
                                

properties パラメータの ThingModelJson 構造で、extendConfig パラメータを使用して、TSL モデルの拡張情報を定義できます。詳細については、「ThingModelJson のデータ構造」をご参照ください。

FunctionBlockIdStringいいえBatteryModule

カスタム TSL モジュールの識別子。各識別子はプロダクト内で一意です。識別子は 1 ~ 30 文字で、文字、数字、アンダースコア(_)を含めることができます。

このパラメータは、FunctionBlockName パラメータと組み合わせて使用する必要があります。このパラメータを指定しないと、システムはデフォルトモジュールをインポートします。

FunctionBlockNameStringいいえBattery_Module

カスタムモジュールの名前。名前は 4 ~ 30 文字で、文字、数字、アンダースコア(_)を含めることができます。

このパラメータは、FunctionBlockId パラメータと組み合わせて使用する必要があります。このパラメータを指定しないと、システムはデフォルトモジュールをインポートします。

上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを指定する必要があります。共通のリクエストパラメーターの詳細については、「共通パラメーター」をご参照ください。

レスポンスパラメータ

パラメータタイプ説明
CodeStringiot.system.SystemException

呼び出しが失敗した場合に返されるエラーコードです。詳細については、「エラーコード」をご参照ください。

ErrorMessageStringシステム例外が発生しました。

呼び出しが失敗した場合に返されるエラーメッセージ。

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

リクエストの ID。

SuccessBooleantrue

呼び出しが成功したかどうかを示します。

  • true: 呼び出しは成功しました。
  • false: 呼び出しは失敗しました。

リクエストの例

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"}]}
&<共通リクエストパラメータ>

成功レスポンスの例

XML 形式

<CreateThingModelResponse>
  <RequestId>9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E</RequestId>
  <Success>true</Success>
</CreateThingModelResponse>

JSON 形式

{
  "RequestId": "9E76053E-26ED-4AB4-AE58-8AFC3F1E7E8E",
  "Success": true
}

エラーコード

エラーコードのリストについては、API エラーセンター をご参照ください。