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

IoT Platform:AsyncRRpc

最終更新日:Apr 17, 2025

デバイスにメッセージを送信します。

使用上の注意

MQTT ゲートウェイまたは GB/T 32960 ゲートウェイを使用して Message Queuing Telemetry Transport(MQTT)経由で IoT Platform に接続されているデバイスを使用する場合、AsyncRRpc 操作を呼び出して IoT Platform からデバイスにメッセージを送信できます。

QPS 制限

この操作は、アカウントごとに 1 秒あたり最大 1,000 回呼び出すことができます。

説明

Alibaba Cloud アカウントの Resource Access Management (RAM) ユーザーは、アカウントのクォータを共有します。

デバッグ

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

リクエストパラメータ

パラメータ

タイプ

必須

説明

Action String Yes AsyncRRpc

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

DeviceName String Yes device1

メッセージの送信先デバイスの DeviceName。

ProductKey String Yes aldfeSe****

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

MessageContent String Yes eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=

公開するメッセージの本文。

メッセージ本文を生成するには、生のメッセージをバイナリデータに変換し、Base64 エンコーディングを実行します。

説明

IoT Platform は Base64 アルゴリズムを使用してデータをデコードし、デコードされたメッセージをデバイスに送信します。このようにして、デバイスは Base64 でエンコードされたデータをデコードする必要がありません。

TopicFullName String No /a1uZfYb****/A_Vol****/user/update

デバイスのカスタム Topic の名前。MQTT 経由で接続されているデバイスにメッセージを送信する場合は、このパラメータを指定する必要があります。デバイスには、Topic に対する サブスクライブまたは パブリッシュとサブスクライブの権限が必要です。

GB/T 32960 ゲートウェイを使用して接続されているデバイスにメッセージを送信する場合、このパラメータを指定する必要はありません。

ExtInfo String No {"commandType": 128}

メッセージのコマンドのタイプ。GB/T 32960 ゲートウェイを使用して接続されているデバイスにメッセージを送信する場合は、このパラメータが必要です。有効な値:

  • 128: クエリコマンド (0x80)。
  • 129: 構成コマンド (0x81)。
  • 130: 車載デバイスのコントロールコマンド (0x82)。

GB/T 32960 ゲートウェイを使用してデバイスを IoT Platform に接続する方法の詳細については、「GB/T 32960 ゲートウェイ」をご参照ください。

IotInstanceId String No iot-v64********

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

重要

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

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

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

レスポンスパラメータ

パラメータ

タイプ

説明

Code String iot.device.InvalidFormattedDeviceName

リクエストが失敗した場合に返されるエラーコード。詳細については、このトピックの「エラーコード」セクションをご参照ください。

ErrorMessage String The format of DeviceName is invalid.

リクエストが失敗した場合に返されるエラーメッセージ。

MessageId Long 889455942124347392

メッセージの送信時に IoT Platform によって生成されるメッセージ ID。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

リクエスト ID。

Success Boolean true

リクエストが成功したかどうかを示します。有効な値:

  • true
  • false

リクエストの例

https://iot.cn-shanghai.aliyuncs.com/?Action=AsyncRRpc
&DeviceName=device1
&MessageContent=dGhpcyBpcyBhbiBleGFtcGxl
&ProductKey=aldfeSe****
&IotInstanceId=iot-v64********
&<Common request parameters>

成功レスポンスの例

XML 形式

<AsyncRRpcResponse>
  <RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
  <Success>true</Success>
  <MessageId>889455942124347400</MessageId>
</AsyncRRpcResponse>

JSON 形式

{
    "RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
    "Success": true,
    "MessageId": 889455942124347400
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

400 iot.prod.NullProductKey The ProductKey is empty. ProductKey が空です。
400 iot.prod.InvalidFormattedProductkey The ProductKey format is incorrect. ProductKey パラメータの値が無効です。
400 iot.device.NullDeviceName The deviceName is empty. DeviceName が空です。
400 iot.device.InvalidFormattedDeviceName The deviceName format is incorrect. DeviceName の形式が無効です。
400 iot.device.InactiveDevice The device is inactive. デバイスがアクティブ化されていません。つまり、デバイスが IoT Platform に接続されたことがありません。
400 iot.device.OfflineDevice The device is offline. デバイスが切断されています。
400 iot.Device.NotExistedDevice This device does not exist. デバイスが存在しないか、アクティブ化されていません。

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