Freigeben über


Migration von Time Series Insights Gen1 zu Real-Time Intelligence in Microsoft Fabric

Anmerkung

Der Time Series Insights-Dienst wird am 7. Juli 2024 eingestellt. Erwägen Sie, vorhandene Umgebungen so schnell wie möglich zu alternativen Lösungen zu migrieren. Weitere Informationen zur Veraltung und Migration finden Sie in unserer Dokumentation.

Überblick

Eventhouse ist die Zeitreihendatenbank von Real-Time Intelligence. Sie dient als Ziel für die Migration von Daten von Time Series Insights weg.

Voraussetzungen

Eingabe neuer Daten

Führen Sie die folgenden Schritte aus, um mit dem Aufnehmen neuer Daten in Ihr Eventhouse zu beginnen:

  1. Konfigurieren Sie Ihr Event Hub mit einer neuen Verbrauchergruppe.

  2. Nutzen Sie Daten aus der Datenquelle, und nehmen Sie sie in Ihr Eventhouse ein. Siehe in der Dokumentation, wie Sie Daten aus Ihrem Event Hubaufnehmen können.

Migrieren von historischen Daten aus Time Series Insights

Wenn Sie Daten aus Ihrer Time Series Insights-Umgebung exportieren müssen, können Sie die Abfrage-API für Zeitreiheneinblicke verwenden, um die Ereignisse in Batches herunterzuladen und im erforderlichen Format zu serialisieren. Je nachdem, wo Sie die exportierten Daten gespeichert haben, können Sie die Daten aus Azure Storage, lokalen Dateienoder OneLake-aufnehmen.

Migrieren von Referenzdaten

Führen Sie die folgenden Schritte aus, um Referenzdaten zu migrieren:

  1. Verwenden Sie den Zeitreihen-Insights-Explorer oder die Referenzdaten-API, um den Referenzdatensatz herunterzuladen.

  2. Sobald Sie über den Referenzdatensatz verfügen, laden Sie es in Ihr Eventhouse als eine andere Tabelle hoch. Durch das Hochladen des Referenzdatensatzes können Sie in Ihrer Eventhouse-Umgebung darauf zugreifen und diese nutzen.

Übersetzen von Zeitreihen-Insights-Abfragen in die Kusto-Abfragesprache

Für Abfragen wird empfohlen, die Kusto Query Language in Eventhouse zu verwenden.

Ereignisse

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

Gesteinskörnung

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