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

IoT Platform:セッションの有効期限

最終更新日:Mar 26, 2025

このトピックでは、MQTT 5.0 のセッション有効期限機能について説明します。

背景情報

セッションとは、デバイスと IoT Platform の間に確立された接続に関する情報を指定し、IoT Platform に保存されるものです。この情報には、サブスクリプション関係、デバイスの状態、およびキャッシュされたメッセージが含まれます。

  • MQTT 3.1.1 では、cleanSession パラメーターでセッション設定を指定します。

    • cleanSession = true: 接続が確立されると、セッションは削除されます。デバイスはトピックに再サブスクライブする必要があり、IoT Platform にハイブリッド方式で保存されている QoS 1 メッセージを受信しません。

    • cleanSession = false: 接続が確立されると、セッションは保持されます。デバイスはトピックに再サブスクライブする必要がなく、IoT Platform にハイブリッド方式で保存されている QoS 1 メッセージを受信します。

  • MQTT 5.0 では、cleanSession パラメーターの名前が cleanStart に変更され、Session Expiry Interval プロパティが追加されました。セッションは、削除、保持、または期限切れにすることができます。Session Expiry Interval プロパティを設定して、セッションを柔軟に管理できます。セッションを今後使用しない場合は、セッションを削除して IoT Platform リソースの消費を削減できます。これは、予期しないメッセージの受信を防ぐなど、デバイスの要件を満たすのにも役立ちます。Session Expiry Interval プロパティと cleanStart パラメーターの値の組み合わせに基づいて、次のいずれかのケースが発生する可能性があります。image..png

説明
  • Session Expiry Interval プロパティを設定しない場合、デフォルト値 0 が使用されます。

  • Session Expiry Interval プロパティを 0xFFFFFFFF に設定すると、セッションは期限切れになりません。

シナリオ

頻繁に切断されるデバイス

車両など、継続的に移動するデバイスのセッションを頻繁に削除すると、デバイスはトピックに頻繁にサブスクライブする必要があります。前の図のケース 3 は、このシナリオに適しています。デバイスが指定された時間内に再接続する場合、セッションを再利用します。デバイスが長期間接続できない場合は、セッションを削除します。こうすることで、デバイスは期限切れのメッセージを受信しません。

メッセージを失うことができないデバイス

POS 機や放送スピーカーなどの金融デバイスを使用する場合、デバイスはメッセージの配信率に高い要件があります。前の図のケース 4 は、このシナリオに適しています。

セッションは、セッションの開始時から終了時までアクティブな状態のままです。対応するデバイスは、サブスクリプション関係とメッセージを保持します。

ステータスに関連しないデバイス

広告ディスプレイなどのデバイスを使用する場合、デバイスは継続的に新しい広告コンテンツを再生し、期限切れのメッセージを受信する必要はありません。前の図のケース 1 は、このシナリオに適しています。

セッションを削除すると、デバイスは期限切れのコンテンツを受信しなくなります。これは、IoT Platform リソースの消費を削減するのに役立ちます。