このドキュメントでは、MQTT のコンテキストにおける Web PubSub データプレーン REST API の意味を明確にします。 既存の Web PubSub REST API ドキュメントは、Web PubSub 独自のプロトコルに重点を置いているため、MQTT へのアプリケーションが不明になる可能性があります。
用語マッピング
まず、Web PubSub と MQTT の間の用語マッピングについて理解します。 これらの用語に既に慣れている場合は、このセクションを省略できます。
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" を使います。 |
操作マッピング
使用可能な操作の包括的な一覧については、 REST API リファレンスを参照してください。
REST API 操作は、次のグループに分類されます。
これらの各カテゴリは以下で定義されています。
メッセージ送信操作
REST API 操作 | MQTT への影響 |
---|---|
グループに送信 | グループ名で指定されたトピックにサブスクライブされている MQTT 接続は、メッセージを受信します。 |
[すべてへ送信] ユーザーに送信 接続に送信 |
それぞれの MQTT 接続は、トピック $webpubsub/server/messages を含むメッセージを受信します。 |
メッセージは QoS 1 で公開されます。 受信したメッセージの QoS は、標準的な MQTT ダウングレード規則に従って、クライアントのサブスクリプション オプションに基づいてダウングレードできます。
サブスクリプション管理操作
REST API 操作 | MQTT への影響 |
---|---|
グループへの接続の追加 グループへの接続の追加 |
指定した接続のサブスクリプションを追加します。 |
グループへのユーザーの追加 | 指定したユーザーのすべての接続のサブスクリプションを追加します。 |
すべてのグループから接続を削除する グループからの接続の削除 グループからの接続の削除 すべてのグループからユーザーを削除する グループからのユーザーの削除 |
指定した接続またはユーザーの 1 つまたはすべてのサブスクリプションを削除します。 |
グループ名は MQTT トピック フィルターに対応します。 接続またはユーザーをグループに追加する場合は、既定の MQTT サブスクリプション オプションが使用されます。
アクセス許可管理操作
これらの操作は MQTT のコンテキストでは簡単であるため、定義は無視されます。
- アクセス許可の確認
- アクセス許可の付与
- 権限の取り消し
存在管理操作
REST API 操作 | MQTT への影響 |
---|---|
接続が存在する グループが存在する ユーザーが存在する |
指定した接続、ユーザー、またはグループのセッションが存在するかどうかを確認します。 これは、接続が現在オンラインかどうかを確認する場合とは異なります。 |
すべての接続を閉じる グループ接続を閉じる ユーザー接続を閉じる |
指定したセッションを終了し、対応する物理接続を終了します。 |
クライアント トークン生成操作
REST API 操作 | MQTT への影響 |
---|---|
クライアント トークンの生成 | MQTT クライアントが接続するための接続トークンと URL を生成します。 |
MQTT のサポートは、REST API バージョンの 2024-01-01
から利用できます。 MQTT クライアントのクエリ パラメーター clientType=MQTT
を指定する必要があります。