複数のデバイスサービスを同時に呼び出します。
使用方法
この操作は非同期でのみ呼び出すことができます。
デバイスがサービス呼び出しを受信すると、デバイスはサービス呼び出し元にレスポンスを返します。デバイスを構成する際は、レスポンスロジックとレスポンスパラメーターを指定する必要があります。レスポンスパラメーターのデータ形式は、Alink プロトコルに準拠している必要があります。例:
{
"id": "58***89",
"code": 200,
"data": {},
"message": "success",
"localizedMsg": "localizedMsg"
}
- id パラメーターは、リクエストの一意の識別子を指定します。 ID は IoT Platform によって生成されます。デバイスはリクエストパラメーターから ID を取得して返すことができます。
- code パラメーターは、サービス呼び出しの結果を指定します。値は整数です。
- data パラメーターは、サービス呼び出しの結果を示します。このパラメーターはサービス呼び出し元に返されます。返される結果に含まれるパラメーターを指定できます。データは JSON 形式である必要があります。
message パラメーターと localizedMsg パラメーターはオプションです。
IoT Platform の Link SDK for C は、Thing Specification Language(TSL)モデルの使用方法の例を提供しています。詳細については、「デバイスサービスの呼び出し」をご参照ください。
QPS 制限
この API 操作は、アカウントごとに 1 秒あたり最大 10 回呼び出すことができます。
デバッグ
リクエストパラメーター
| パラメーター | タイプ | 必須 | 例 | 説明 |
| Action | String | はい | InvokeThingsService | 実行する操作。値を InvokeThingsService に設定します。 |
| Args | String | はい | {"param1":1} | サービスの入力パラメーター。値は JSON 文字列です。例:Args={"param1": 1}。 サービスに入力パラメーターを構成しない場合は、値を Args={} に設定します。 重要 TSL データが float 型または double 型の場合、TSL データに対応するパラメーター値には、少なくとも 1 つの小数点以下の桁数が含まれます。例:10.0 と 11.1。 |
| DeviceName.N | RepeatList | はい | device1 | サービスが呼び出されるデバイスの名前。最大 100 個のデバイス名を指定できます。 |
| Identifier | String | はい | Set | サービスの識別子。 サービスの identifier を表示するには、次のいずれかの方法を使用できます。
説明 testFb という名前のカスタムモジュールに testService という名前のサービスが属している場合、このパラメーターを testFb:testService に設定できます。カスタムモジュールはデフォルトモジュールではありません。 |
| ProductKey | String | はい | a1BwAGV**** | デバイスが属するプロダクトの ProductKey。 |
| IotInstanceId | String | いいえ | iot_instc_pu****_c*-v64******** | IoT インスタンスの ID。IoT Platform コンソールの 概要 ページでインスタンスの ID を表示できます。 重要
詳細については、「インスタンスの概要」をご参照ください。 |
| Qos | Integer | いいえ | 1 | メッセージのサービス品質(QoS)レベル。有効な値:
|
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを構成する必要があります。詳細については、「共通パラメーター」をご参照ください。
レスポンスパラメーター
| パラメーター | タイプ | 例 | 説明 |
| Code | String | iot.system.SystemException | 呼び出しが失敗した場合に返されるエラーコード。エラーコードの詳細については、「エラーコード」をご参照ください。 |
| ErrorMessage | String | システム例外が発生しました。 | 呼び出しが失敗した場合に返されるエラーメッセージ。 |
| RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | リクエストの ID。 |
| Success | Boolean | true | 呼び出しが成功したかどうかを示します。有効な値:
|
例
リクエストの例
https://iot.cn-shanghai.aliyuncs.com/?Action=InvokeThingsService
&Args=%7B%20%20%20%20%20%22walk%22%3A%22a~z%22%2C%20%20%20%20%20%22city%22%3A%22shanghai%22%20%7D
&DeviceName.1=1102andriod02
&DeviceName.2=1102android01
&Identifier=TimeReset
&ProductKey=a1hWjHD****
&<共通リクエストパラメーター>成功レスポンスの例
XML 形式
<InvokeThingsServiceResponse>
<RequestId>059C3274-6197-4BEC-95E4-49A076330E57</RequestId>
<Success>true</Success>
</InvokeThingsServiceResponse>JSON 形式
{
"RequestId": "059C3274-6197-4BEC-95E4-49A076330E57",
"Success": true
}エラーコード
エラーコードのリストについては、「サービスエラーコード」をご参照ください。