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

IoT Platform:InvokeThingsService

最終更新日:Apr 17, 2025

複数のデバイスサービスを同時に呼び出します。

使用方法

この操作は非同期でのみ呼び出すことができます。

デバイスがサービス呼び出しを受信すると、デバイスはサービス呼び出し元にレスポンスを返します。デバイスを構成する際は、レスポンスロジックとレスポンスパラメーターを指定する必要があります。レスポンスパラメーターのデータ形式は、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 回呼び出すことができます。

説明 Alibaba Cloud アカウントの RAM ユーザーは、アカウントのクォータを共有します。

デバッグ

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

リクエストパラメーター

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

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

ArgsStringはい{"param1":1}

サービスの入力パラメーター。値は JSON 文字列です。例:Args={"param1": 1}

サービスに入力パラメーターを構成しない場合は、値を Args={} に設定します。

重要 TSL データが float 型または double 型の場合、TSL データに対応するパラメーター値には、少なくとも 1 つの小数点以下の桁数が含まれます。例:10.0 と 11.1。
DeviceName.NRepeatListはいdevice1

サービスが呼び出されるデバイスの名前。最大 100 個のデバイス名を指定できます。

IdentifierStringはいSet

サービスの識別子。

サービスの identifier を表示するには、次のいずれかの方法を使用できます。

  • IoT Platform コンソールにログインします。デバイスが属するプロダクトの 機能定義 タブで、識別子を表示できます。
  • QueryThingModel 操作を呼び出し、返される TSL 情報で識別子を表示します。
説明 testFb という名前のカスタムモジュールに testService という名前のサービスが属している場合、このパラメーターを testFb:testService に設定できます。カスタムモジュールはデフォルトモジュールではありません。
ProductKeyStringはいa1BwAGV****

デバイスが属するプロダクトの ProductKey

IotInstanceIdStringいいえiot_instc_pu****_c*-v64********

IoT インスタンスの ID。IoT Platform コンソールの 概要 ページでインスタンスの ID を表示できます。

重要
  • インスタンスに ID がある場合は、このパラメーターに ID を指定する必要があります。そうでない場合、呼び出しは失敗します。
  • インスタンスに 概要 ページまたは ID が生成されていない場合は、このパラメーターを構成する必要はありません。

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

QosIntegerいいえ1

メッセージのサービス品質(QoS)レベル。有効な値:

  • 0(デフォルト):システムはメッセージを最大 1 回送信します。
  • 1:システムはメッセージを少なくとも 1 回送信します。 QoS 1 メッセージをパブリッシュした後に PUBACK レスポンスが返されない場合、デバイスが IoT Platform に再接続したときにメッセージがデバイスに再送信されます。

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

レスポンスパラメーター

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

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

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

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

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

リクエストの ID。

SuccessBooleantrue

呼び出しが成功したかどうかを示します。有効な値:

  • true:呼び出しは成功しました。ただし、この結果はサービスが実行されたことを示すものではありません。実行結果を取得するには、デバイスのログを表示します。
  • false:呼び出しは失敗しました。

リクエストの例

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
}

エラーコード

エラーコードのリストについては、「サービスエラーコード」をご参照ください。