デバイスにリクエストを送信し、デバイスから同期的にレスポンスを受信します。
使用方法
操作の呼び出し後、指定されたタイムアウト期間内にデバイスがレスポンスを送信できなかった場合、デバイスがメッセージを受信したとしても、IoT Platform は呼び出しが失敗したと見なします。タイムアウト期間は、タイムアウト パラメーターで指定します。
QPS 制限
この操作は、アカウントごとに 1 秒あたり最大 1,000 回呼び出すことができます。
Alibaba Cloud アカウントの Resource Access Management (RAM) ユーザーは、アカウントのクォータを共有します。
デバッグ
リクエストパラメーター
|
パラメーター |
タイプ |
必須 |
例 |
説明 |
| Action | String | Yes | RRpc | 実行する操作。値を RRpc に設定します。 |
| ProductKey | String | Yes | aldfeSe**** | デバイスが属するプロダクトの ProductKey。 |
| DeviceName | String | Yes | device1 | リクエストの送信先デバイスの DeviceName。 |
| RequestBase64Byte | String | Yes | dGhpcyBpcyBhbiBleGFtcGxl | パブリッシュするメッセージの本文。 メッセージ本文を生成するには、生のメッセージをバイナリデータに変換し、Base64 エンコーディングを実行します。 説明
IoT Platform は Base64 アルゴリズムを使用してデータをデコードし、デコードされたメッセージをデバイスに送信します。このようにして、デバイスは Base64 でエンコードされたデータをデコードする必要がありません。 |
| Timeout | Integer | Yes | 1000 | レスポンスのタイムアウト期間。単位:ミリ秒。有効な値:1000 ~ 8000。 |
| IotInstanceId | String | No | iot_instc_pu****_c*-v64******** | インスタンス ID。IoT Platform コンソールの ID概要 ページでインスタンスの を表示できます。 重要
詳細については、「概要」をご参照ください。 |
| Topic | String | No | /a1uZfYb****/A_Vol****/user/update | カスタム revert-RPC (RRPC) Topic。カスタム RRPC Topic を使用する前に、デバイスを設定する必要があります。詳細については、「カスタム Topic を使用する」をご参照ください。 このパラメーターを指定しない場合は、デフォルトの RRPC Topic が使用されます。 |
| ContentType | String | No | 240 | サーバーが JT/T 808 経由でデバイスに送信するメッセージのタイプ。有効な値:
IoT Platform でサポートされている JT/T 808 の使用方法の詳細については、「JT/T 808 ゲートウェイ」をご参照ください。 |
上記の操作固有のリクエストパラメーターに加えて、この操作を呼び出すときは、共通のリクエストパラメーターを指定する必要があります。詳細については、「共通パラメーター」をご参照ください。
レスポンスパラメーター
パラメーター |
タイプ |
例 |
説明 |
| Code | String | iot.system.SystemException | リクエストが失敗した場合に返されるエラーコード。詳細については、このトピックの「エラーコード」セクションをご参照ください。 |
| ErrorMessage | String | A system exception occurred. | リクエストが失敗した場合に返されるエラーメッセージ。 |
| MessageId | Long | 889455942124347392 | メッセージの送信時に IoT Platform によって生成されるメッセージ ID。 |
| PayloadBase64Byte | String | d29ybGQgaGVsbG8= | デバイスによって返される Base64 エンコードされたペイロード。 |
| RequestId | String | 41C4265E-F05D-4E2E-AB09-E031F501AF7F | リクエスト ID。 |
| RrpcCode | String | SUCCESS | リクエストが成功した場合に返されるレスポンスコード。有効な値:
|
| Success | Boolean | true | リクエストが成功したかどうかを示します。有効な値:
|
例
リクエストの例
https://iot.cn-shanghai.aliyuncs.com/?Action=RRpc
&ProductKey=aldfeSe****
&DeviceName=device1
&RequestBase64Byte=dGhpcyBpcyBhbiBleGFtcGxl
&Timeout=1000
&<共通リクエストパラメーター>
成功レスポンスの例
XML 形式
<?xml version='1.0' encoding='UTF-8'?>
<RRpcResponse>
<RequestId>41C4265E-F05D-4E2E-AB09-E031F501AF7F<RequestId/>
<Success>true</Success>
<RrpcCode>SUCCESS</RrpcCode>
<PayloadBase64Byte>d29ybGQgaGVsbG8=</PayloadBase64Byte>
<MessageId>889455942124347392</MessageId>
</RRpcResponse>
JSON 形式
{
"RrpcCode":"SUCCESS",
"PayloadBase64Byte":"d29ybGQgaGVsbG8=",
"MessageId":889455942124347392,
"RequestId":"41C4265E-F05D-4E2E-AB09-E031F501AF7F",
"Success":true
}
エラーコード
エラーコードのリストについては、「サービスエラーコード」をご参照ください。