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

IoT Platform:タイムアウト補間の構成

最終更新日:Apr 09, 2025

タイムアウト補間ノードは、データレポートの中断中に所定の値でギャップを埋めることによってデータの連続性を維持するように設計されており、中断のないデータシーケンスを必要とするアプリケーションに最適です。

シナリオ

温度の変化が発生した場合にのみデータを送信するサーモスタット温度センサーを考えてみましょう。データが報告されない場合、温度は一定であると想定されます。 タイムアウト補間ノードを使用すると、このようなセンサーの分単位のデータ監視を確保できます。

前提条件

データ計算式またはデータフィルタリングフィルターが設定されていることを確認します。 詳細については、「データ計算とデータフィルタリングの構成」をご参照ください。

背景情報

手順

  1. データ解析コンソールにアクセスする.

  2. 中央のキャンバスで、現在のノードの後に追加 image アイコンをクリックします。

  3. ポップアップノードリストで、[タイムアウト補間] ノードをシングルクリックします。

  4. キャンバスで、[タイムアウト補間] ノードをシングルクリックします。右側の構成パネルで、次の表に従ってタイムアウト補間を設定します。

    構成項目

    パラメーター

    説明

    基本構成

    補間時間タイプ

    以下から選択します。

    • [相対時間]:データ解析タスクの開始時刻に基づいて一定の間隔で補間します。 [相対時間補償期間][10秒][15秒][30秒][1分][5分][15分][30分] などのオプションで設定します。

    • [絶対時間]:Java (Quartz) 標準の Crontab 式を使用して絶対補間時間を定義します。 [絶対時間補償期間] を設定します。 詳細については、「付録:Crontab 式」をご参照ください。

    「シナリオ」セクションを参照:分単位の監視の場合は、2 つの補間時間タイプから選択します。

    • [相対時間][相対時間補償期間][1分] として選択します。

    • [絶対時間]:Crontab 式を 0 */1 * * * ? に設定します。

    補間データタイプ

    オプションには以下が含まれます。

    • [前回の実際のデータ]:補間に最後に報告された実際のデータを使用します。

    • [プリセットデータ]:補間に事前定義されたデータを使用します。 メッセージ内容は JSON 形式である必要があります。

    「シナリオ」セクションに続いて:[前回の実際のデータ] を選択します。

    詳細構成

    メッセージパーティションキー

    オプション。タイムアウト補間のディメンションを指定します。多くの場合、異なるデバイスからのメッセージを区別するために使用されます。

    設定しない場合、IoT Platform システムはデフォルトで ProductKeyDeviceName をパーティションキーとして使用します。

    「シナリオ」の例では、サーモスタットの ID である boxId フィールドをパーティションキーとして使用します。

    遅延許容範囲

    実際のメッセージ伝送遅延による不要な補間を防ぐために、メッセージを補間するまでの遅延を秒単位で指定します。

    デフォルト設定を採用します。

    有効期間

    トピックが長期間メッセージを報告していない場合に補間を続行する最大期間を秒単位で定義します。 最小パージ時間は 1 分、最大は 7 日で、デフォルトは 1 日です。 タイマーは受信したメッセージごとにリセットされます。

    デフォルト設定を維持します。

    「シナリオ」セクションに基づく詳細な構成例を次に示します。

  5. タイムアウト補間ノードの構成を完了するには、データ解析ワークスペースの右上隅にある [保存] をシングルクリックします。

    重要

    注:このノードの出力フィールドは、前のノードの出力フィールドと同じです。

次の手順

タイムアウト補間ノードの構成後、追加の処理ノードを設定するか、ターゲットノードを構成してデータ解析タスクを完了します。

付録: Crontab 式

Java (Quartz) 標準の Crontab 式について以下に詳述します。

Example:
    // 毎月の最終日
    @Scheduled(cron = "0 0 18 * * ?")
    public void doAtLastDayOfMonth() {
        // ここに何か処理を記述...
    }

    Explanation:
    Java(Quartz)
    *    *    *    *    *    *    *
    -    -    -    -    -    -    -
    |    |    |    |    |    |    |
    |    |    |    |    |    |    + 年 [オプション]
    |    |    |    |    |    +----- 曜日 (1 - 7) 日,月,火,水,木,金,土
    |    |    |    |    +---------- 月 (1 - 12) または JAN,FEB,MAR,APR ...
    |    |    |    +--------------- 日 (1 - 31)
    |    |    +-------------------- 時 (0 - 23)
    |    +------------------------- 分 (0 - 59)
    +------------------------------ 秒 (0 - 59)

フィールド

必須

値の範囲 (整数)

使用可能な特殊文字

はい

0~59

  • アスタリスク (*):フィールドのすべての可能な値を表します。

    たとえば、 フィールドに適用する場合:

    • 0 0 * * * ? は、毎時の開始、正確には 0 分 0 秒にアクションが発生することを意味します。

    • 0 */5 * * * ? の場合、*/5 は 5 分ごとを意味します。

  • カンマ (,):複数の値を区切ります。

    たとえば、 フィールドに 0,5,10 を指定すると、式 0 0,10 * * * ? は毎時の 0 分、5 分、10 分にトリガーされます。

  • ダッシュ (-):値の範囲を指定します。

    たとえば、 フィールドに 1-3 が含まれている場合、式 0 1-3 * * * ? は毎時の 1 分目から 3 分目を意味します。

  • スラッシュ (/):増分を指定します。

    たとえば、 フィールドで使用する場合:

    • 0/15 は、0 分目から始まる 15 分ごとの頻度を示します。

    • 3/20 は、3 分目から始まる 20 分ごとの頻度を示します。

    • 0 */1 * * * ? は、1 分ごとの頻度を示します。

はい

0~59

はい

0~23

はい

1~31

  • アスタリスク (*):フィールドのすべての可能な値を示します。

  • 疑問符 (?):フィールドに特定の値が必要ない場合に使用します。

はい

1~12 または JAN~DEC

対応:1 は 1 月 (JAN)、2 は 2 月 (FEB)、3 は 3 月 (MAR)、4 は 4 月 (APR)、5 は 5 月 (MAY)、6 は 6 月 (JUN)、7 は 7 月 (JUL)、8 は 8 月 (AUG)、9 は 9 月 (SEP)、10 は 10 月 (OCT)、11 は 11 月 (NOV)、12 は 12 月 (DEC)。

アスタリスク (*):フィールドのすべての可能な値を表します。

曜日

はい

0~7 または SUN~SAT

対応:0 (SUN)、1 (MON)、2 (TUE)、3 (WED)、4 (THU)、5 (FRI)、6 (SAT)。 0 と 7 はどちらも日曜日 (SUN) を表すことに注意してください。

アスタリスク (*)、疑問符 (?):フィールドに「特定の値なし」または「任意の値」を指定するために使用します。

いいえ

1970~2099

アスタリスク (*):フィールドのすべての可能な値を表します。