Partager via


Migration de Time Series Insights Gen1 vers Real-Time Intelligence dans Microsoft Fabric

Remarque

Le service Time Series Insights va être mis hors service le 7 juillet 2024. Prévoyez de migrer les environnements existants vers des solutions alternatives dès que possible. Pour plus d’informations sur la dépréciation et la migration, consultez notre documentation.

Vue d’ensemble

Eventhouse est la base de données de série chronologique dans Real-Time Intelligence. Elle sert de cible pour migrer les données de Time Series Insights.

Prérequis

Ingérer de nouvelles données

Pour commencer à ingérer de nouvelles données dans votre Eventhouse, effectuez les étapes suivantes :

  1. Configurez votre Event Hub avec un nouveau groupe de consommateurs.

  2. Consommez des données à partir de la source de données et ingérez-les dans votre Eventhouse. Reportez-vous à la documentation sur la façon d’ingérer des données à partir de votre Event Hub.

Migrer des données historiques depuis Time Series Insights

Si vous avez besoin d’exporter des données depuis votre environnement Time Series Insights, vous pouvez utiliser l’API de requête Time Series Insights pour télécharger les événements par lots et les sérialiser au format requis. Selon l’emplacement où vous avez stocké les données exportées, vous pouvez ingérer les données à partir du Stockage Azure, de fichiers locaux ou de OneLake.

Migrer des données de référence

Effectuez les étapes suivantes pour migrer des données de référence :

  1. Utilisez l’Explorateur Time Series Insights ou l’API Données de référence pour télécharger le jeu de données de référence.

  2. Une fois que vous avez le jeu de données de référence, chargez-le dans votre Eventhouse comme autre table. En chargeant le jeu de données de référence, vous pouvez y accéder et l’utiliser dans votre environnement Eventhouse.

Traduire des requêtes Time Series Insights en Langage de requête Kusto

Pour les requêtes, il est recommandé d’utiliser le Langage de requête Kusto dans Eventhouse.

Événements

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

Agrégats

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