Microsoft Fabric での Time Series Insights Gen1 からリアルタイム インテリジェンスへの移行

Note

Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 できるだけ早く既存の環境を代替ソリューションに移行することを検討してください。 サポートの終了と移行の詳細については、こちらのドキュメントを参照してください。

概要

Eventhouse は、リアルタイム インテリジェンスの時系列データベースです。 Time Series Insights からデータを移行するためのターゲットとして機能します。

前提条件

新しいデータを取り込む

次の手順に従って、Eventhouse への新しいデータの取り込みを開始します:

  1. 新しいコンシューマー グループを使用してイベント ハブを構成します。

  2. データ ソースからデータを使用し、Eventhouse に取り込みます。 イベント ハブからデータを取り込む方法については、ドキュメントを参照してください。

Time Series Insights から履歴データを移行する

Time Series Insights 環境からデータをエクスポートする必要がある場合は、Time Series Insights Query API を使用してイベントをバッチでダウンロードし、必要な形式でシリアル化できます。 エクスポートされたデータを格納した場所に応じて、Azure Storageローカル ファイル、または OneLake データを取り込むことができます。

参照データの移行

参照データを移行するには、次の手順に従います:

  1. Time Series Insights エクスプローラーまたは Reference Data API を使用して、参照データ セットをダウンロードします。

  2. 参照データ セットを取得したら、別のテーブルとしてそれを Eventhouse にアップロードします。 参照データ セットをアップロードすることで、Eventhouse 環境内でアクセスして利用できます。

Time Series Insights クエリを Kusto 照会言語に変換する

クエリの場合は、Eventhouse で Kusto 照会言語を使用することをお勧めします。

Events

{
  "searchSpan": {
    "from": "2021-11-29T22:09:32.551Z",
    "to": "2021-12-06T22:09:32.551Z"
  },
  "predicate": {
    "predicateString": "([device_id] = 'device_0') AND ([has_error] != null OR [error_code] != null)"
  },
  "top": {
    "sort": [
      {
        "input": {
          "builtInProperty": "$ts"
        },
        "order": "Desc"
      }
    ],
    "count": 100
  }
}
	events
| where _timestamp >= datetime("2021-11-29T22:09:32.551Z") and _timestamp < datetime("2021-12-06T22:09:32.551Z") and deviceid == "device_0" and (not(isnull(haserror)) or not(isempty(errorcode)))
| top 100 by _timestamp desc

集計

{
    "searchSpan": {
      "from": "2021-12-04T22:30:00Z",
      "to": "2021-12-06T22:30:00Z"
    },
    "predicate": {
      "eq": {
        "left": {
          "property": "DeviceId",
          "type": "string"
        },
        "right": "device_0"
      }
    },
    "aggregates": [
      {
        "dimension": {
          "uniqueValues": {
            "input": {
              "property": "DeviceId",
              "type": "String"
            },
            "take": 1
          }
        },
        "aggregate": {
          "dimension": {
            "dateHistogram": {
              "input": {
                "builtInProperty": "$ts"
              },
              "breaks": {
                "size": "2d"
              }
            }
          },
          "measures": [
            {
              "count": {}
            },
            {
              "sum": {
                "input": {
                  "property": "DataValue",
                  "type": "Double"
                }
              }
            },
            {
              "min": {
                "input": {
                  "property": "DataValue",
                  "type": "Double"
                }
              }
            },
            {
              "max": {
                "input": {
                  "property": "DataValue",
                  "type": "Double"
                }
              }
            }
          ]
        }
      }
    ]
  }

	let _q = events | where _timestamp >= datetime("2021-12-04T22:30:00Z") and _timestamp < datetime("2021-12-06T22:30:00Z") and deviceid == "device_0";
let _dimValues0 = _q | project deviceId | sample-distinct 1 of deviceId;
_q
| where deviceid in (_dimValues0) or isnull(deviceid)
| summarize
    _meas0 = count(),
    _meas1 = iff(isnotnull(any(datavalue)), sum(datavalue), any(datavalue)),
    _meas2 = min(datavalue),
    _meas3 = max(datavalue),
    by _dim0 = deviceid, _dim1 = bin(_timestamp, 2d)
| project
    _dim0,
    _dim1,
    _meas0,
    _meas1,
    _meas2,
    _meas3,
| sort by _dim0 nulls last, _dim1 nulls last