Migrace Time Series Insights Gen1 na inteligentní funkce v reálném čase v Microsoft Fabric

Poznámka:

Služba Time Series Insights bude vyřazena 7. července 2024. Zvažte migraci stávajících prostředí na alternativní řešení co nejdříve. Další informace o vyřazení a migraci najdete v naší dokumentaci.

Přehled

Eventhouse je databáze časových řad ve inteligentním čase v reálném čase. Slouží jako cíl pro migraci dat mimo Time Series Insights.

Požadavky

Ingestování nových dat

Pomocí následujících kroků začněte ingestovat nová data do vašeho eventhouse:

  1. Nakonfigurujte centrum událostí s novou skupinou příjemců.

  2. Spotřebovávejte data ze zdroje dat a ingestujte je do vašeho eventhouse. Informace o příjmu dat z centra událostí najdete v dokumentaci.

Migrace historických dat z Time Series Insights

Pokud potřebujete exportovat data z prostředí Time Series Insights, můžete pomocí rozhraní API pro dotazy Time Series Insights stáhnout události v dávkách a serializovat je v požadovaném formátu. V závislosti na tom, kam jste exportovaná data uložili, můžete ingestovat data ze služby Azure Storage, místních souborů nebo OneLake.

Migrace referenčních dat

K migraci referenčních dat použijte následující postup:

  1. Ke stažení referenční sady dat použijte Průzkumník služby Time Series Insights nebo rozhraní API referenčních dat.

  2. Jakmile budete mít referenční sadu dat, nahrajte ji do eventhouse jako jinou tabulku. Nahráním referenční sady dat můžete získat přístup a využít ji v prostředí Eventhouse.

Překlad dotazů Time Series Insights do dotazovací jazyk Kusto

U dotazů doporučujeme použít dotazovací jazyk Kusto v Eventhouse.

Události

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

Souhrny

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