Aracılığıyla paylaş


Time Series Insights 1. Nesil'i Azure Veri Gezgini geçirme

Not

Time Series Insights (TSI) hizmeti artık Mart 2025'e kadar desteklenmeyecektir. Mevcut TSI ortamlarını mümkün olan en kısa sürede alternatif çözümlere geçirmeyi göz önünde bulundurun. Kullanımdan kaldırma ve geçiş hakkında daha fazla bilgi için belgelerimizi ziyaret edin.

Genel Bakış

Azure Veri Gezgini kümesini Olay Hub'ından veya IoT Hub'dan yeni bir tüketici grubuyla ayarlamak ve saklama süresinin geçmesini beklemek ve Azure Veri Gezgini Time Series Insights ortamıyla aynı verilerle doldurmaktır. Telemetri verilerinin Time Series Insights ortamından dışarı aktarılması gerekiyorsa, time Series Insights Sorgu API'sini kullanarak olayları toplu olarak indirmek ve gerekli biçimde seri hale getirmek için öneride bulunabilirsiniz. Başvuru verileri için Time Series Insights Gezgini veya Başvuru Verileri API'sini kullanarak başvuru veri kümesini indirebilir ve azure Veri Gezgini başka bir tablo olarak yükleyebilirsiniz. Ardından Azure Veri Gezgini'daki gerçekleştirilmiş görünümler başvuru verilerini telemetri verileriyle birleştirmek için kullanılabilir. Aşağıdaki örnekte gösterildiği gibi varlık başına en son kaydı alacak arg_max() toplama işleviyle gerçekleştirilmiş görünümü kullanın. Gerçekleştirilmiş görünümler hakkında daha fazla bilgi için şu belgeleri okuyun: Gerçekleştirilmiş görünüm kullanım örnekleri.

.create materialized-view MVName on table T
{
    T
    | summarize arg_max(Column1,*) by Column2
}

Time Series Insights Sorgularını KQL'ye Çevirme

Sorgular için, Azure Veri Gezgini'de KQL kullanılması önerilir.

Ekinlikler

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

Toplamalar

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