Lägger till stöd för lång datatyp i Azure Time Series Insights Gen2Adding support for long data type in Azure Time Series Insights Gen2

Tillägget av stöd för långa data typer påverkar hur vi lagrar och indexerar numeriska data i Azure Time Series Insights Gen2-miljöer.The addition of support for long data type affects how we store and index numeric data in Azure Time Series Insights Gen2 environments only. Om du har en gen1-miljö kan du bortse från dessa ändringar.If you have a Gen1 environment, you can disregard these changes.

Från och med den 29 juni eller den 30 juni 2020, beroende på din region, kommer dina data att indexeras som långa och dubbla.Beginning June 29 or June 30, 2020, depending on your region, your data will be indexed as Long and Double. Om du har några frågor eller problem med den här ändringen kan du skicka ett support ärende via Azure Portal och nämna denna kommunikation.If you have any questions or concerns about this change, submit a support ticket through the Azure portal and mention this communication.

Om du påverkas av något av följande fall gör du de rekommenderade ändringarna:If you're affected by any of the following cases, make the recommended changes:

  • Fall 1: du använder för närvarande tids serie modell variabler och skickar endast integrala data typer i dina telemetridata.Case 1: You currently use Time Series Model variables and send only integral data types in your telemetry data.
  • Fall 2: du använder för närvarande tids serie modell variabler och skickar data typerna integral och inte integral i dina telemetridata.Case 2: You currently use Time Series Model variables and send both integral and nonintegral data types in your telemetry data.
  • Fall 3: du kan använda kategoriska-variabler för att mappa heltals värden till kategorier.Case 3: You use categorical variables to map integer values to categories.
  • Fall 4: du kan använda Java Script SDK för att bygga ett anpassat klient program.Case 4: You use the JavaScript SDK to build a custom front-end application.
  • Fall 5: du närmar dig gränsen för 1 000-egenskaps namn i varmt lager och skickar både heltals-och data som inte är Integral.Case 5: You're nearing the 1,000-property name limit in Warm Store and send both integral and nonintegral data. Antalet egenskaper kan visas som ett mått i Azure Portal.The property count can be viewed as a metric in the Azure portal.

Om något av fallen gäller dig, gör du ändringar i din modell.If any of the cases apply to you, make changes to your model. Uppdatera Time Series-uttrycket (TSX) i variabel definitionen med de rekommenderade ändringarna.Update the Time Series Expression (TSX) in your variable definition with the recommended changes. Uppdatera båda:Update both:

  • Azure Time Series Insights-utforskarenAzure Time Series Insights Explorer
  • Alla anpassade klienter som använder våra API: erAny custom client that uses our APIs

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ö.Depending on your IoT solution and constraints, you might not have visibility into the data that's sent to your Azure Time Series Insights Gen2 environment. Om du är osäker på om dina data endast är integrala eller både integrala och inintegrala har du några alternativ:If you're unsure if your data is integral only or both integral and nonintegral, you have a few options:

  • Du kan vänta på att funktionen släpps.You can wait for the feature to be released. Utforska sedan dina obehandlade händelser i användar gränssnittet i Utforskaren för att förstå vilka egenskaper som sparas i två separata kolumner.Then, explore your raw events in the explorer UI to understand which properties are saved in two separate columns.
  • Du kan förebyggande syfte göra de rekommenderade ändringarna för alla numeriska taggar.You can preemptively make the recommended changes for all numeric tags.
  • Du kan tillfälligt dirigera en delmängd av händelser till lagring för att bättre förstå och utforska ditt schema.You can temporarily route a subset of events to storage to better understand and explore your schema.

Om du vill lagra händelser aktiverar du händelse fångst för Azure Event Hubs eller dirigerar från din IoT Hub till Azure Blob Storage.To store events, turn on event capture for Azure Event Hubs, or route from your IoT Hub to Azure Blob storage.

Data kan också observeras via Event Hub Explorereller med hjälp av händelse bearbetnings värden.Data can also be observed through the Event Hub Explorer, or by using the Event Processor Host.

Om du använder IoT Hub går du till läsa "enhet till molnet"-meddelanden från den inbyggda slut punkten för att få åtkomst till den inbyggda slut punkten.If you use IoT Hub, go to Read device-to-cloud messages from the built-in endpoint for how to access the built-in endpoint.

Anteckning

Du kan uppleva ett avbrott om du inte gör de rekommenderade ändringarna.You might experience a disruption if you don't make the recommended changes. Till exempel returnerar de påverkade Time Series Insights variablerna som nås via fråge-API: erna eller Time Series Insights Explorer Null (det vill säga inga data i Utforskaren).For example, the affected Time Series Insights variables that are accessed via the query APIs or Time Series Insights explorer will return null (that is, show no data in the explorer).

Fall 1: använda tids serie modell variabler och skicka endast integrala data typer i telemetridataCase 1: Using Time Series Model variables and sending only integral data types in telemetry data

De rekommenderade ändringarna för fall 1 är desamma som för fall 2.The recommended changes for Case 1 are the same as for Case 2. Följ anvisningarna i avsnittet för fall 2.Follow the instructions in the section for Case 2.

Fall 2: använda modell variabler för tids serier och skicka både integrala och inintegrala typer i telemetridataCase 2: Using Time Series Model variables and sending both integral and nonintegral types in telemetry data

Om du för närvarande skickar språktelemetri-data, delas dina data in i två kolumner:If you currently send integer telemetry data, your data will be divided into two columns:

  • propertyValue_doublepropertyValue_double
  • propertyValue_longpropertyValue_long

Dina heltals data skrivs till propertyValue_long.Your integer data writes to propertyValue_long. Tidigare inmatade numeriska data (och framtida inmatade) i propertyValue_double kopieras inte över.Previously ingested (and future ingested) numeric data in propertyValue_double isn't copied over.

Om du vill fråga efter data över de här två kolumnerna för egenskapen propertyValue måste du använda den skalära funktionen sammanslagning () i din TSX.If you want to query data across these two columns for the propertyValue property, you need to use the coalesce() scalar function in your TSX. Funktionen accepterar argument av samma datatyp och returnerar det första värdet som inte är null i argument listan.The function accepts arguments of the same DataType and returns the first non-null value in the argument list. Mer information finns i Azure Time Series Insights Gen2 Data Access Concepts.For more information, see Azure Time Series Insights Gen2 data access concepts.

Variabel definition i TSX-numeriskVariable definition in TSX - numeric

Definition av föregående variabel:Previous variable definition:

Skärm bild som visar dialog rutan Lägg till en ny variabel för PropertyValue-variabeln, numeric.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable, numeric.

Ny variabel definition:New variable definition:

Skärm bild som visar dialog rutan Lägg till en ny variabel för PropertyValue-variabeln med ett anpassat värde, numeriskt.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable with a custom value, numeric.

Du kan också använda sammanslagning ($Event. propertyValue. Double, toDouble ($Event. propertyValue. Long)) som uttryck för anpassad tids serie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Infogad variabel definition med TSX-frågas-API: n-numerisktInline variable definition using TSX query APIs - numeric

Definition av föregående variabel:Previous variable definition:

"PropertyValueVariable": {

    "kind": "numeric",

    "value": {

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

    },

    "filter": null,

    "aggregation": {

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

Ny variabel definition:New variable definition:

"PropertyValueVariable ": {

    "kind": "numeric",

    "value": {

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

    },

    "filter": null,

    "aggregation": {

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

Du kan också använda sammanslagning ($Event. propertyValue. Double, toDouble ($Event. propertyValue. Long)) som uttryck för anpassad tids serie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Anteckning

Vi rekommenderar att du uppdaterar dessa variabler på alla platser som de kan användas.We recommend that you update these variables in all places they might be used. Dessa platser omfattar tids serie modellen, sparade frågor och Power BI anslutnings frågor.These places include Time Series Model, saved queries, and Power BI connector queries.

Fall 3: använda kategoriska-variabler för att mappa heltals värden till kategorierCase 3: Using categorical variables to map integer values to categories

Om du för närvarande använder kategoriska-variabler som mappar heltals värden till kategorier, använder du förmodligen funktionen toLong för att konvertera data från Double -typ till lång typ.If you currently use categorical variables that map integer values to categories, you're likely using the toLong function to convert data from Double type to Long type. Precis som fall 1 och 2 måste du slå samman kolumnerna Double och Long types .Just like Cases 1 and 2, you need to coalesce the Double and Long DataType columns.

Variabel definition i Time Series Explorer – kategoriskaVariable definition in Time Series Explorer - categorical

Definition av föregående variabel:Previous variable definition:

Skärm bild som visar dialog rutan Lägg till en ny variabel för variabeln PropertyValue, kategoriska.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable, categorical.

Ny variabel definition:New variable definition:

Skärm bild som visar dialog rutan Lägg till en ny variabel för PropertyValue-variabeln med ett anpassat värde, kategoriska.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable with a custom value, categorical.

Du kan också använda sammanslagning ($Event. propertyValue. Double, toDouble ($Event. propertyValue. Long)) som uttryck för anpassad tids serie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Kategoriska-variabler kräver fortfarande att värdet är av en heltals typ.Categorical variables still require the value to be of an integer type. Data typen för alla argument i sammanslagning () måste vara av typen Long i det anpassade tids serie uttrycket.The DataType of all the arguments in coalesce() must be of type Long in the custom Time Series Expression.

Infogad variabel definition med TSX-fråge-API: er – kategoriskaInline variable definition using TSX query APIs - categorical

Definition av föregående variabel:Previous variable definition:

"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 variabel definition:New variable definition:

"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 en heltals typ.Categorical variables still require the value to be of an integer type. Data typen för alla argument i sammanslagning () måste vara av typen Long i det anpassade tids serie uttrycket.The DataType of all the arguments in coalesce() must be of type Long in the custom Time Series Expression.

Anteckning

Vi rekommenderar att du uppdaterar dessa variabler på alla platser som de kan användas.We recommend that you update these variables in all places they might be used. Dessa platser omfattar tids serie modellen, sparade frågor och Power BI anslutnings frågor.These places include Time Series Model, saved queries, and Power BI connector queries.

Fall 4: använda Java Script SDK för att bygga ett anpassat klient programCase 4: Using the JavaScript SDK to build a custom front-end application

Om du påverkas av fall 1 till 3 och skapar anpassade program måste du uppdatera dina frågor för att använda funktionen sammanslagning () , vilket visas i föregående exempel.If you're affected by Cases 1 through 3 and build custom applications, you need to update your queries to use the coalesce() function, as demonstrated in the previous examples.

Fall 5: närmar sig det varmt arkivet 1 000 egenskaps gränsCase 5: Nearing Warm Store 1,000 property limit

Om du är en varm användare med ett stort antal egenskaper och tror att den här ändringen skulle leda till att din miljö skickas över den 1 000 varmt Store-egenskapen namn, skicka ett support ärende via Azure Portal och nämna denna kommunikation.If you're a Warm Store user with a large number of properties and believe that this change would push your environment over the 1,000 Warm Store property-name limit, submit a support ticket through the Azure portal and mention this communication.

Nästa stegNext steps