次の方法で共有


MQTT の REST API 仕様

このドキュメントでは、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 を指定する必要があります。