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

IoT Platform:AMQP サーバー側サブスクリプションを構成する

最終更新日:Mar 27, 2025

IoT Platform では、コンシューマーグループを使用して Topic のメッセージをサブスクライブし、メッセージを Advanced Message Queuing Protocol(AMQP)サーバーに転送できます。この Topic では、IoT Platform コンソールで AMQP サーバー側サブスクリプションを構成および管理する方法について説明します。

前提条件

コンシューマーグループが作成されています。コンシューマーグループは、Topic のメッセージをサブスクライブするために使用されます。デフォルトのコンシューマーグループ(DEFAULT_GROUP)を使用するか、IoT Platform でコンシューマーグループを作成できます。詳細については、「コンシューマーグループを管理する」をご参照ください。

サブスクリプションを構成する

サブスクライブするメッセージのタイプを指定するには、次の手順を実行します。

  1. IoT Platform コンソール にログインします。

  2. [概要] ページで、[すべての環境] をクリックします。[すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。

  3. 左側のナビゲーションウィンドウで、[メッセージ転送] > [サーバー側サブスクリプション] を選択します。

  4. [サーバー側サブスクリプション] ページで、[サブスクリプションの作成] をクリックします。

  5. [サブスクリプションの作成] ダイアログボックスで、パラメーターを構成し、[OK] をクリックします。次の表にパラメーターを示します。

    パラメーター

    説明

    プロダクト

    デバイスが属するプロダクトを選択します。デバイスによって送信されたメッセージは、コンシューマーにプッシュされます。

    サブスクリプションタイプ

    [AMQP] を選択します。

    コンシューマーグループ

    コンシューマーグループを選択します。1 つのプロダクトに複数のコンシューマーグループを指定し、1 つのコンシューマーグループに複数のプロダクトの複数のサブスクリプションを作成できます。

    IoT Platform は、メッセージを消費するためのデフォルトのコンシューマーグループを提供します。コンシューマーをグループ化する場合、次の手順を実行してコンシューマーグループを作成します。[コンシューマーグループの選択] ダイアログボックスの右下隅にある [コンシューマーグループの作成] をクリックし、プロンプトに従ってパラメーターを構成します。詳細については、「コンシューマーグループを管理する」をご参照ください。

    メッセージタイプ

    メッセージのタイプを選択します。次のタイプのデバイスメッセージをサブスクライブできます。基本的な通信 Topic、メッセージ転送 Topic、および関連するデータ形式の詳細については、「データ形式」をご参照ください。

    重要

    クラウドゲートウェイ製品とデバイスを使用している場合、IoT Platform は [デバイスアップストリーム通知][デバイスステータス変更通知]、および [ライフサイクル全体のデバイス変更] メッセージのみを製品とデバイスにプッシュします。メッセージ転送 Topic とデータ形式の詳細については、「オープンソース MQTT を介したメッセージング」、「JT/T 808 を介したメッセージング」、および「GB/T 32960 を介したメッセージング」をご参照ください。

    • [デバイスアップストリーム通知]: [許可される操作] パラメーターが [パブリッシュ] に設定されている Topic のメッセージ。詳細については、「Topic」をご参照ください。

      メッセージには、デバイスによって送信されたカスタムデータと TSL(Thing Specification Language)データが含まれます。アップストリーム TSL データには、プロパティデータ、イベントデータ、プロパティ設定リクエストへの応答、およびサービス呼び出しへの応答が含まれます。ユーザーサーバーにプッシュされる TSL データは、IoT Platform によって処理されます。詳細については、「データ形式」をご参照ください。

      たとえば、プロダクトに対して次の Topic カテゴリが定義されています。

      • /${YourProductKey}/${YourDeviceName}/user/get。この Topic カテゴリの [許可される操作] パラメーターは [サブスクライブ] に設定されています。

      • /${YourProductKey}/${YourDeviceName}/user/update。この Topic カテゴリの [許可される操作] パラメーターは [パブリッシュ] に設定されています。

      • /${YourProductKey}/${YourDeviceName}/thing/event/property/post。この Topic カテゴリの [許可される操作] パラメーターは [パブリッシュ] に設定されています。

      サーバー側サブスクリプション機能は、次の Topic カテゴリのメッセージをプッシュします。/${YourProductKey}/${YourDeviceName}/user/update および /${YourProductKey}/${YourDeviceName}/thing/event/property/post

      重要

      非同期サービス呼び出しの応答データをサブスクライブする場合は、デバイスから返されるメッセージ ID が、IoT Platform がダウンストリームデータを送信するときに生成されるメッセージ ID と同じであることを確認してください。

    • [デバイスステータス変更通知]: デバイスがオンラインまたはオフラインになったときにデバイスから送信される通知。

    • [ゲートウェイのサブデバイス検出レポート]: ゲートウェイが新しいサブデバイスを検出したときにゲートウェイが送信するサブデバイスデータ。ゲートウェイには、サブデバイスを検出するために使用できるアプリケーションが必要です。このメッセージタイプはゲートウェイに固有です。

    • [デバイストポロジー関係の変更]: サブデバイスとゲートウェイ間のトポロジー関係が作成または削除されたときにゲートウェイが送信する通知。このメッセージタイプはゲートウェイに固有です。

    • [ライフサイクル全体のデバイス変更]: デバイスが作成、削除、有効化、または無効化されたときにデバイスが送信する通知。

    • [TSL 履歴データレポート]: デバイスによって送信される履歴プロパティとイベント。

    • [OTA アップデートステータス通知]: ファームウェアの検証と一括更新中にデバイスから送信される通知。デバイスの更新タスクが成功、失敗、キャンセル、または実行中の場合、通知がプッシュされます。

    • [デバイスタグの変更]: デバイスタグが変更されたときにデバイスから送信されるメッセージ。

    • [モジュールバージョン番号を送信する]: OTA(無線)モジュールバージョンが変更されたときにデバイスから送信されるメッセージ。

    • [バッチステータス通知]: OTA 更新バッチのステータスが変更されたときにデバイスから送信される通知。

    説明

    デバイスメッセージをリッスンする場合、メッセージのフィルタリングまたは処理が必要になる場合があります。この場合、データ転送ルールを使用して、メッセージを AMQP コンシューマーグループに転送できます。その後、AMQP クライアントを使用してメッセージを受信できます。 詳細については、「データ転送」をご参照ください。

    AMQP サーバーへのメッセージの転送方法とサブスクライブできるデバイス Topic の詳細については、「データ形式」をご参照ください。

プロダクトのサブスクリプションを管理する

サブスクリプションを構成した後、[サーバー側サブスクリプション] ページに移動し、サブスクリプションが作成されたプロダクトを見つけます。サブスクリプションに対して複数の操作を実行できます。次の表に操作を示します。

操作

手順

編集

コンシューマーグループとメッセージタイプを変更できます。

  1. [アクション] 列の [編集] をクリックします。

  2. [サブスクリプションの編集] ダイアログボックスで、[コンシューマーグループ] または [メッセージタイプ] パラメーターを変更します。

  3. [保存] をクリックします。

削除

警告

プロダクト用にサブスクライブしたデバイスデータが他のアプリケーションで使用されている場合、サービスが利用できなくなるか、ビジネスに影響が及ぶ可能性があります。注意して進めてください。

  1. [アクション] 列の [削除] をクリックします。

  2. 表示されるメッセージで、[OK] をクリックします。

次のステップ

AMQP クライアントを構成する: IoT Platform によって提供される AMQP SDK を使用することをお勧めします。Alibaba Cloud は、ユーザーが開発した AMQP SDK のテクニカルサポートを提供していません。

説明

構成が完了し、送信されたデバイスデータが AMQP クライアントによって受信されたら、次の手順を実行して IoT Platform コンソールでログを表示します。[メンテナンス] > [デバイスログ] > [クラウド実行ログ] を選択します。[クラウド実行ログ] タブには、デバイスがデータを送信したとき、IoT Platform がデータを AMQP クライアントに転送したとき、および AMQP クライアントが ACK メッセージを返したときに生成されたログエントリが表示されます。