Lägga till stöd för lång datatyp i Azure Time Series Insights Gen2
Kommentar
Time Series Insights-tjänsten dras tillbaka den 7 juli 2024. Överväg att migrera befintliga miljöer till alternativa lösningar så snart som möjligt. Mer information om utfasning och migrering finns i vår dokumentation.
Tillägget av stöd för lång datatyp påverkar hur vi lagrar och indexerar numeriska data endast i Azure Time Series Insights Gen2-miljöer. Om du har en Gen1-miljö kan du bortse från dessa ändringar.
Från och med 29 juni eller 30 juni 2020, beroende på din region, indexeras dina data som Long och Double. Om du har frågor eller problem med den här ändringen skickar du ett supportärende via Azure-portalen och nämner den här kommunikationen.
Om du påverkas av något av följande fall gör du de rekommenderade ändringarna:
- Fall 1: Du använder för närvarande variabler för Tidsseriemodell och skickar endast integrerade datatyper i dina telemetridata.
- Fall 2: Du använder för närvarande time series-modellvariabler och skickar både integrerade och icke-inintegrala datatyper i dina telemetridata.
- Fall 3: Du använder kategoriska variabler för att mappa heltalsvärden till kategorier.
- Fall 4: Du använder JavaScript SDK för att skapa ett anpassat klientdelsprogram.
- Fall 5: Du närmar dig gränsen på 1 000 egenskaper i Warm Store och skickar både integral- och icke-inintegrala data. Antalet egenskaper kan visas som ett mått i Azure-portalen.
Om något av fallen gäller för dig gör du ändringar i din modell. Uppdatera TSX (Time Series Expression) i variabeldefinitionen med de rekommenderade ändringarna. Uppdatera båda:
- Azure Time Series Insights-utforskaren
- Alla anpassade klienter som använder våra API:er
Beroende på din IoT-lösning och begränsningar kanske du inte har insyn i de data som skickas till din Azure Time Series Insights Gen2-miljö. Om du är osäker på om dina data bara är integrerade eller både integrerade och icke-integrerade, har du några alternativ:
- Du kan vänta tills funktionen har släppts. Utforska sedan dina råhändelser i utforskargränssnittet för att förstå vilka egenskaper som sparas i två separata kolumner.
- Du kan i förebyggande syfte göra de rekommenderade ändringarna för alla numeriska taggar.
- Du kan tillfälligt dirigera en delmängd händelser till lagring för att bättre förstå och utforska ditt schema.
Om du vill lagra händelser aktiverar du händelseinsamling för Azure Event Hubs eller dirigerar från din IoT Hub till Azure Blob Storage.
Data kan också observeras via Event Hub Explorer eller med hjälp av händelseprocessorvärden.
Om du använder IoT Hub går du till Läsa meddelanden från enhet till moln från den inbyggda slutpunkten för att få åtkomst till den inbyggda slutpunkten.
Kommentar
Du kan uppleva ett avbrott om du inte gör de rekommenderade ändringarna. Till exempel returnerar de berörda Time Series Insights-variablerna som nås via fråge-API:erna eller Time Series Insights-utforskaren null (det vill säga visar inga data i utforskaren).
Rekommenderade ändringar
Fall 1: Använda time series-modellvariabler och skicka endast integrerade datatyper i telemetridata
De rekommenderade ändringarna för ärende 1 är desamma som för ärende 2. Följ anvisningarna i avsnittet för ärende 2.
Fall 2: Använda time series-modellvariabler och skicka både integral- och icke-inintegrala typer i telemetridata
Om du för närvarande skickar heltalstelemetridata delas dina data in i två kolumner:
- propertyValue_double
- propertyValue_long
Dina heltalsdata skrivs till propertyValue_long. Tidigare inmatade (och framtida inmatade) numeriska data i propertyValue_double kopieras inte över.
Om du vill köra frågor mot data i dessa två kolumner för egenskapen propertyValue måste du använda skalärfunktionen coalesce() i din TSX. Funktionen accepterar argument för samma DataType och returnerar det första värdet som inte är null i argumentlistan. Mer information finns i Azure Time Series Insights Gen2-dataåtkomstbegrepp.
Variabeldefinition i TSX – numeriskt
Tidigare variabeldefinition:
Ny variabeldefinition:
Du kan också använda coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) som det anpassade Time Series-uttrycket.
Infogad variabeldefinition med TSX-fråge-API:er – numeriskt
Tidigare variabeldefinition:
"PropertyValueVariable": {
"kind": "numeric",
"value": {
"tsx": "$event.propertyValue.Double"
},
"filter": null,
"aggregation": {
"tsx": "avg($value)"
}
}
Ny variabeldefinition:
"PropertyValueVariable ": {
"kind": "numeric",
"value": {
"tsx": "coalesce($event.propertyValue.Long, toLong($event.propertyValue.Double))"
},
"filter": null,
"aggregation": {
"tsx": "avg($value)"
}
}
Du kan också använda coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) som det anpassade Time Series-uttrycket.
Kommentar
Vi rekommenderar att du uppdaterar dessa variabler på alla platser där de kan användas. Dessa platser inkluderar Time Series Model, sparade frågor och Power BI-anslutningsfrågor.
Fall 3: Använda kategoriska variabler för att mappa heltalsvärden till kategorier
Om du för närvarande använder kategoriska variabler som mappar heltalsvärden till kategorier använder du förmodligen funktionen toLong för att konvertera data från Dubbeltyp till Long-typ . Precis som fall 1 och 2 måste du slå ihop kolumnerna Double och Long DataType .
Variabeldefinition i Time Series Explorer – kategorisk
Tidigare variabeldefinition:
Ny variabeldefinition:
Du kan också använda coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) som det anpassade Time Series-uttrycket.
Kategoriska variabler kräver fortfarande att värdet är av heltalstyp. DataType för alla argument i coalesce() måste vara av typen Long i det anpassade Time Series-uttrycket.
Infogad variabeldefinition med TSX-fråge-API:er – kategorisk
Tidigare variabeldefinition:
"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"
}
}
Ny variabeldefinition:
"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"
}
}
Kategoriska variabler kräver fortfarande att värdet är av heltalstyp. DataType för alla argument i coalesce() måste vara av typen Long i det anpassade Time Series-uttrycket.
Kommentar
Vi rekommenderar att du uppdaterar dessa variabler på alla platser där de kan användas. Dessa platser inkluderar Time Series Model, sparade frågor och Power BI-anslutningsfrågor.
Fall 4: Använda JavaScript SDK för att skapa ett anpassat klientdelsprogram
Om du påverkas av fall 1 till och med 3 och skapar anpassade program måste du uppdatera dina frågor för att använda funktionen coalesce(), vilket visas i föregående exempel.
Fall 5: Närmar sig 1 000 egenskapsgräns för warm store
Om du är en Warm Store-användare med ett stort antal egenskaper och tror att den här ändringen skulle push-överföra din miljö över gränsen på 1 000 warm store-egenskapsnamn skickar du ett supportärende via Azure-portalen och nämner den här kommunikationen.
Nästa steg
- Visa den fullständiga listan över datatyper som stöds.