RRPC 方式では、システム定義トピックを使用して、デバイスとIoT Platform 間の通信を確立することができます。 これらのトピックには、デバイスの ProductKey および DeviceName が含まれています。

システム定義トピック

RRPC 呼び出しで利用される、システム定義トピックの形式を以下に示します。

  • RRPC リクエストトピック: /sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId}
  • RRPC 応答トピック: /sys/${YourProductKey}/${YourDeviceName}/rrpc/response/${messageId}
  • RRPC サブスクリプショントピック: /sys/${YourProductKey}/${YourDeviceName}/rrpc/request/+

トピック形式では、 ${YourProductKey} と ${YourDeviceName} は、デバイスを識別するために使用されるデバイス情報です。${messageId} は IoT Platform によって発行された RRPC メッセージ ID です。

RRPC を使う

  1. RRpc API を呼び出します。

    RRpc API を呼び出し、デバイス情報を SDK に入力してください。 API の呼び出し方法については、「RRpc」をご参照ください。

    次の例では、呼び出し方法を説明するために Java SDK を使用しています。

    RRpcRequest request = new RRpcRequest();
    request.setProductKey("testProductKey");
    request.setDeviceName("testDeviceName");
    request.setRequestBase64Byte(Base64.getEncoder().encodeToString("hello world"));
    request.setTimeout(3000);
    RRpcResponse response = client.getAcsResponse(request);
  2. デバイスが応答を返します。

    デバイスが RRPC リクエストメッセージを受信すると、リクエストトピックの形式に基づいて RRPC 応答メッセージを返信します。

    デバイスは、リクエストトピック /sys/${YourProductKey}/${YourDeviceName}/rrpc/request/${messageId} からメッセージ ID を抽出し、対応する応答を生成してから、応答メッセージを IoT Platform に送信します。