Udostępnij za pośrednictwem


Dodawanie obsługi długiego typu danych w usłudze Azure Time Series Insights Gen2

Uwaga

Usługa Time Series Insights zostanie wycofana 7 lipca 2024 r. Rozważ migrację istniejących środowisk do alternatywnych rozwiązań tak szybko, jak to możliwe. Aby uzyskać więcej informacji na temat wycofywania i migracji, odwiedź naszą dokumentację.

Dodanie obsługi długiego typu danych wpływa na sposób przechowywania i indeksowania danych liczbowych tylko w środowiskach usługi Azure Time Series Insights Gen2. Jeśli masz środowisko Gen1, możesz zignorować te zmiany.

Od 29 czerwca 2020 r. lub 30 czerwca 2020 r. dane będą indeksowane jako Długie i Podwójne. Jeśli masz jakiekolwiek pytania lub wątpliwości dotyczące tej zmiany, prześlij bilet pomocy technicznej za pośrednictwem witryny Azure Portal i podaj tę komunikację.

Jeśli wystąpią jakiekolwiek z następujących przypadków, wprowadź zalecane zmiany:

  • Przypadek 1: Obecnie używasz zmiennych modelu szeregów czasowych i wysyłasz tylko całkowite typy danych w danych telemetrycznych.
  • Przypadek 2: Obecnie używasz zmiennych modelu szeregów czasowych i wysyłasz zarówno typy danych całkowitych, jak i nieintegracyjnych w danych telemetrycznych.
  • Przypadek 3. Zmienne kategorii służą do mapowania wartości całkowitych na kategorie.
  • Przypadek 4. Zestaw SDK języka JavaScript służy do tworzenia niestandardowej aplikacji frontonu.
  • Przypadek 5: Zbliżasz się do limitu nazwy właściwości 1000 w ciepłym magazynie i wysyłasz zarówno dane całkowite, jak i nieintegralne. Liczbę właściwości można wyświetlić jako metrykę w witrynie Azure Portal.

Jeśli którykolwiek z przypadków ma zastosowanie do Ciebie, wprowadź zmiany w modelu. Zaktualizuj wyrażenie szeregów czasowych (TSX) w definicji zmiennej przy użyciu zalecanych zmian. Zaktualizuj oba:

  • Eksplorator usługi Azure Time Series Insights
  • Każdy klient niestandardowy korzystający z naszych interfejsów API

W zależności od rozwiązania IoT i ograniczeń może nie mieć wglądu w dane wysyłane do środowiska usługi Azure Time Series Insights Gen2. Jeśli nie masz pewności, czy dane są tylko całkowite lub zarówno całkowite, jak i nieintegralne, masz kilka opcji:

  • Możesz poczekać na wydanie funkcji. Następnie zapoznaj się z nieprzetworzonymi zdarzeniami w interfejsie użytkownika eksploratora, aby dowiedzieć się, które właściwości są zapisywane w dwóch osobnych kolumnach.
  • Możesz z góry wprowadzić zalecane zmiany dla wszystkich tagów liczbowych.
  • Możesz tymczasowo kierować podzbiór zdarzeń do magazynu, aby lepiej zrozumieć i eksplorować schemat.

Aby przechowywać zdarzenia, włącz przechwytywanie zdarzeń dla usługi Azure Event Hubs lub kierowanie z usługi IoT Hub do usługi Azure Blob Storage.

Dane można również zaobserwować za pośrednictwem Eksploratora centrum zdarzeń lub hosta procesora zdarzeń.

Jeśli używasz usługi IoT Hub, przejdź do pozycji Odczyt komunikatów z urządzenia do chmury z wbudowanego punktu końcowego, aby uzyskać dostęp do wbudowanego punktu końcowego.

Uwaga

Jeśli nie wprowadzisz zalecanych zmian, może wystąpić zakłócenia. Na przykład zmienne usługi Time Series Insights, do których uzyskuje się dostęp za pośrednictwem interfejsów API zapytań lub Eksplorator usługi Time Series Insights, będą zwracać wartość null (oznacza to, że nie są wyświetlane żadne dane w eksploratorze).

Przypadek 1: Używanie zmiennych modelu szeregów czasowych i wysyłanie tylko całkowitych typów danych w danych telemetrycznych

Zalecane zmiany przypadku 1 są takie same jak w przypadku 2. Postępuj zgodnie z instrukcjami w sekcji dla przypadku 2.

Przypadek 2: Używanie zmiennych modelu szeregów czasowych i wysyłanie zarówno typów całkowitych, jak i nieintegracyjnych w danych telemetrycznych

Jeśli obecnie wysyłasz dane telemetryczne liczb całkowitych, dane zostaną podzielone na dwie kolumny:

  • propertyValue_double
  • propertyValue_long

Dane całkowite są zapisywane w propertyValue_long. Wcześniej pozyskane (i pozyskane w przyszłości) dane liczbowe w propertyValue_double nie są kopiowane.

Jeśli chcesz wykonać zapytanie o dane w tych dwóch kolumnach dla właściwości propertyValue , musisz użyć funkcji skalarnych coalesce() w TSX. Funkcja akceptuje argumenty tego samego typu danych i zwraca pierwszą wartość inną niż null na liście argumentów. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące dostępu do danych w usłudze Azure Time Series Insights Gen2.

Definicja zmiennej w języku TSX — numeryczna

Poprzednia definicja zmiennej:

Zrzut ekranu przedstawia okno dialogowe Dodawanie nowej zmiennej dla zmiennej PropertyValue, numerycznej.

Nowa definicja zmiennej:

Zrzut ekranu przedstawia okno dialogowe Dodawanie nowej zmiennej dla zmiennej PropertyValue z wartością niestandardową, liczbową.

Można również użyć funkcji coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) jako niestandardowego wyrażenia szeregów czasowych.

Definicja zmiennej wbudowanej przy użyciu interfejsów API zapytań TSX — numeryczne

Poprzednia definicja zmiennej:

"PropertyValueVariable": {

    "kind": "numeric",

    "value": {

        "tsx": "$event.propertyValue.Double"

    },

    "filter": null,

    "aggregation": {

        "tsx": "avg($value)"
    }
}

Nowa definicja zmiennej:

"PropertyValueVariable ": {

    "kind": "numeric",

    "value": {

        "tsx": "coalesce($event.propertyValue.Long, toLong($event.propertyValue.Double))"

    },

    "filter": null,

    "aggregation": {

        "tsx": "avg($value)"
    }
}

Można również użyć funkcji coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) jako niestandardowego wyrażenia szeregów czasowych.

Uwaga

Zalecamy zaktualizowanie tych zmiennych we wszystkich miejscach, w których mogą być używane. Te miejsca obejmują model szeregów czasowych, zapisane zapytania i zapytania łącznika usługi Power BI.

Przypadek 3. Używanie zmiennych kategorii do mapowania wartości całkowitych na kategorie

Jeśli obecnie używasz zmiennych kategorii mapujących wartości całkowite na kategorie, prawdopodobnie używasz funkcji toLong do konwertowania danych z typu Podwójne na typ długi . Podobnie jak w przypadku przypadków 1 i 2, należy połączyć kolumny Double i Long DataType .

Definicja zmiennej w Eksploratorze szeregów czasowych — kategorialne

Poprzednia definicja zmiennej:

Zrzut ekranu przedstawiający okno dialogowe Dodawanie nowej zmiennej dla zmiennej PropertyValue podzielonej na kategorie.

Nowa definicja zmiennej:

Zrzut ekranu przedstawiający okno dialogowe Dodawanie nowej zmiennej dla zmiennej PropertyValue z wartością niestandardową kategorii.

Można również użyć funkcji coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) jako niestandardowego wyrażenia szeregów czasowych.

Zmienne kategorii nadal wymagają wartości typu liczby całkowitej. Typ DataType wszystkich argumentów w metodzie coalesce() musi być typu Long w niestandardowym wyrażeniu szeregów czasowych.

Śródliniowa definicja zmiennej przy użyciu interfejsów API zapytań TSX — kategorialne

Poprzednia definicja zmiennej:

"PropertyValueVariable_Long": {

    "kind": "categorical",

    "value": {

        "tsx": "tolong($event.propertyValue.Double)"

    },

    "categories": [

    {
        "label": "Good",

        "values": [0, 1, 2 ]

    },

    {

        "label": "Bad",

        "values": [ 3, 4 ]

    } ],

    "defaultCategory": {

        "label": "Unknown"

    }
}

Nowa definicja zmiennej:

"PropertyValueVariable_Long": {

    "kind": "categorical",

    "value": {

        "tsx": "coalesce($event.propertyValue.Long, tolong($event.propertyValue.Double))"

    },

    "categories": [

    {
        "label": "Good",

        "values": [0, 1, 2 ]

    },

    {

        "label": "Bad",

        "values": [ 3, 4 ]

    } ],

    "defaultCategory": {

        "label": "Unknown"

    }
}

Zmienne kategorii nadal wymagają wartości typu liczby całkowitej. Typ DataType wszystkich argumentów w metodzie coalesce() musi być typu Long w niestandardowym wyrażeniu szeregów czasowych.

Uwaga

Zalecamy zaktualizowanie tych zmiennych we wszystkich miejscach, w których mogą być używane. Te miejsca obejmują model szeregów czasowych, zapisane zapytania i zapytania łącznika usługi Power BI.

Przypadek 4: tworzenie niestandardowej aplikacji frontonu przy użyciu zestawu SDK języka JavaScript

Jeśli dotyczy to przypadków od 1 do 3 i tworzenia aplikacji niestandardowych, musisz zaktualizować zapytania, aby używać funkcji coalesce(), jak pokazano w poprzednich przykładach.

Przypadek 5: Zbliżanie się do limitu właściwości ciepłego magazynu 1000

Jeśli jesteś użytkownikiem ciepłego sklepu z dużą liczbą właściwości i uważasz, że ta zmiana wypchnie środowisko do limitu 1000 ciepłych nazw właściwości sklepu, prześlij bilet pomocy technicznej za pośrednictwem witryny Azure Portal i wskaż tę komunikację.

Następne kroki

  • Wyświetl pełną listę obsługiwanych typów danych.