次の方法で共有


Microsoft Fabric での Time Series Insights Gen1 の Real-Time インテリジェンスへの移行

手記

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

概要

Eventhouse は、Real-Time Intelligence の時系列データベースです。 Time Series Insights からデータを移行するためのターゲットとして機能します。

前提 条件

新しいデータを取り込む

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

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

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

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

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

参照データを移行する

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

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

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

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

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

イベント

{
  "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