Azure Web PubSub サービスでの MQTT (プレビュー)

Note

Azure Web PubSub での MQTT のサポートはプレビュー段階です。

概要

MQTT は、リソースに制約があるデバイス用に設計された軽量のパブリッシュ/サブスクライブ メッセージング プロトコルです。 Azure Web PubSub サービスで WebSocket トランスポート経由の MQTT がネイティブにサポートされるようになりました。これにより、MQTT Web クライアントと他の Web PubSub クライアント間のクロス通信が可能になりました。

この新機能は、次の 2 つの主要なユース ケースに対応します。

  1. プロトコルが混在するリアルタイム アプリケーション: 異なるプロトコルを使用するクライアントが Azure Web PubSub サービスを介してリアルタイムでデータを交換できるようにします。

  2. より多くのプログラミング言語のサポート: 任意の MQTT ライブラリを使用してサービスに接続できるため、C#、JavaScript、Python、Java で使用可能な SDK を超えて、C++ などの言語で記述されたアプリケーションと統合できます。

この MQTT サポートは MQTT プロトコルの軽量な適応であり、Azure Web PubSub で既にサポートされている機能にのみ拡張されることに注意してください。 サポートされていない MQTT 機能には、次のようなものがあります。

  • ワイルドカード サブスクリプション
  • 保持されたメッセージ
  • 共有サブスクリプション
  • トピックの別名

サポートされている MQTT 機能の包括的な一覧については、このドキュメント記事を参照してください。

Azure 上のより包括的な MQTT ブローカー ソリューションについては、Azure Event Grid を探索することをお勧めします。

MQTT サポートによって有効になっているリアルタイム データ交換パターン

  • MQTT Web クライアントと Web PubSub ネイティブ クライアントの間のパブリッシュ/サブスクライブ
  • MQTT Web クライアントにメッセージをブロードキャストする
  • MQTT Web クライアントの有効期間イベントの通知を受信する

MQTT が Web PubSub のシステムに適応される方法

Note

このセクションは、MQTT プロトコルと Azure Web PubSub に関する基本的な知識があることを前提に書かれています。

Azure Web PubSub サービスで MQTT メッセージが認識され、ネイティブ プロトコルに変換されるようになりました。 次の表は、MQTT と Web PubSub で似ている、または同じ用語の対応を示したものです。 これは、MQTT の概念を Web PubSub の概念にどのように適応させるかを理解するのに役立ちます。 データ プレーン REST API またはクライアント イベント ハンドラーを使って MQTT Web クライアントと対話する必要がある場合に不可欠です。

MQTT の用語 対応する Web PubSub の用語 関係
サーバー/MQTT ブローカー Web PubSub サービス Web PubSub サービスは MQTT ブローカーとして機能して、MQTT の接続を提供します。 通常、"サーバー" という用語は、ドキュメント内の MQTT ブローカーではなくアップストリーム サーバーを指して使うことに注意してください。
セッション つながり Web PubSub での "接続" はクライアントとサービスの間のステートフルな関係を表す論理的な概念であり、1 つの "接続" は、1 つの "セッション" に対応します。 通常、これら 2 つの単語は置き換えることができます。
トピックをサブスクライブする グループに参加する これら 2 つのアクションは同じ効果があります。クライアントはそのトピックまたはグループからメッセージを受け取ります。 トピック名はグループ名です。
トピックにメッセージをパブリッシュする グループにメッセージを送信する これら 2 つのアクションは同じ効果があります。そのトピックをサブスクライブしている、またはそのグループに属しているクライアントは、メッセージを受け取ります。
クライアント ID 接続 ID "接続 ID" は、Web PubSub への "接続" を表します。 Web PubSub では、MQTT 接続の "接続 ID" として、"クライアント ID" を使います。

次のステップ