Ondersteuning toevoegen voor lang gegevens type in Azure Time Series Insights Gen2Adding support for long data type in Azure Time Series Insights Gen2

Het toevoegen van ondersteuning voor lang gegevens type is van invloed op de manier waarop we numerieke gegevens in Azure Time Series Insights Gen2-omgevingen opslaan en indexeren.The addition of support for long data type affects how we store and index numeric data in Azure Time Series Insights Gen2 environments only. Als u een gen1-omgeving hebt, kunt u deze wijzigingen negeren.If you have a Gen1 environment, you can disregard these changes.

Vanaf 29 juni of 30 juni 2020, afhankelijk van uw regio, worden uw gegevens als lang en dubbel geïndexeerd.Beginning June 29 or June 30, 2020, depending on your region, your data will be indexed as Long and Double. Als u vragen hebt of problemen hebt met betrekking tot deze wijziging, verzendt u een ondersteunings ticket via de Azure Portal en vermeldt u deze communicatie.If you have any questions or concerns about this change, submit a support ticket through the Azure portal and mention this communication.

Als u een van de volgende situaties ondervindt, moet u de aanbevolen wijzigingen aanbrengen:If you're affected by any of the following cases, make the recommended changes:

  • Voor Beeld 1: u gebruikt momenteel time series model-variabelen en verzendt alleen integrale gegevens typen in uw telemetriegegevens.Case 1: You currently use Time Series Model variables and send only integral data types in your telemetry data.
  • Voor Beeld 2: u gebruikt momenteel time series model-variabelen en verzendt zowel integrale als niet-integrale gegevens typen in uw telemetriegegevens.Case 2: You currently use Time Series Model variables and send both integral and nonintegral data types in your telemetry data.
  • Voor Beeld 3: u kunt Categorische-variabelen gebruiken om gehele waarden toe te wijzen aan categorieën.Case 3: You use categorical variables to map integer values to categories.
  • Voor beeld 4: u de Java script-SDK gebruikt om een aangepaste front-end-toepassing te maken.Case 4: You use the JavaScript SDK to build a custom front-end application.
  • Voor beeld 5: u voldoet aan de 1.000-eigenschaps naam limiet in warme Store en verzendt zowel integrale als niet-integrale gegevens.Case 5: You're nearing the 1,000-property name limit in Warm Store and send both integral and nonintegral data. Het aantal eigenschappen kan worden weer gegeven als een metrische waarde in het Azure Portal.The property count can be viewed as a metric in the Azure portal.

Als een van de aanvragen op u van toepassing is, brengt u wijzigingen aan in uw model.If any of the cases apply to you, make changes to your model. Werk de time series-expressie (TSX) bij in de definitie van de variabele met de aanbevolen wijzigingen.Update the Time Series Expression (TSX) in your variable definition with the recommended changes. Update beide:Update both:

  • Azure Time Series Insights ExplorerAzure Time Series Insights Explorer
  • Elke aangepaste client die gebruikmaakt van onze Api'sAny custom client that uses our APIs

Afhankelijk van uw IoT-oplossing en beperkingen, hebt u mogelijk niet de zicht baarheid van de gegevens die naar uw Azure Time Series Insights Gen2-omgeving worden verzonden.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. Als u niet zeker weet of uw gegevens alleen integraal of zowel integraal als niet-integraal zijn, hebt u een aantal opties:If you're unsure if your data is integral only or both integral and nonintegral, you have a few options:

  • U kunt wachten tot de functie is vrijgegeven.You can wait for the feature to be released. Bekijk vervolgens uw onbewerkte gebeurtenissen in de Explorer-gebruikers interface om te begrijpen welke eigenschappen in twee afzonderlijke kolommen zijn opgeslagen.Then, explore your raw events in the explorer UI to understand which properties are saved in two separate columns.
  • U kunt preventief de aanbevolen wijzigingen aanbrengen voor alle numerieke Tags.You can preemptively make the recommended changes for all numeric tags.
  • U kunt een subset van gebeurtenissen tijdelijk door sturen naar opslag om uw schema beter te begrijpen en te verkennen.You can temporarily route a subset of events to storage to better understand and explore your schema.

Als u gebeurtenissen wilt opslaan, schakelt u gebeurtenis vastleggen in voor Azure Event hubs of stuurt u een route van uw IOT hub naar Azure Blob-opslag.To store events, turn on event capture for Azure Event Hubs, or route from your IoT Hub to Azure Blob storage.

Gegevens kunnen ook worden waargenomen via de Event hub Verkennerof door de Event processor hostte gebruiken.Data can also be observed through the Event Hub Explorer, or by using the Event Processor Host.

Als u IoT Hub gebruikt, gaat u naar apparaat-naar-Cloud-berichten lezen van het ingebouwde eind punt voor toegang tot het ingebouwde eind punt.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.

Notitie

U kunt onderbrekingen ondervinden als u de aanbevolen wijzigingen niet aanbrengt.You might experience a disruption if you don't make the recommended changes. De betrokken Time Series Insights variabelen die worden geopend via de query-Api's of Time Series Insights Explorer, retour neren bijvoorbeeld Null (dat wil zeggen dat er geen gegevens worden weer gegeven in de Explorer).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).

Voor beeld 1: Time Series-model variabelen gebruiken en alleen integrale gegevens typen verzenden in telemetriegegevensCase 1: Using Time Series Model variables and sending only integral data types in telemetry data

De aanbevolen wijzigingen voor Case 1 zijn hetzelfde als voor Case 2.The recommended changes for Case 1 are the same as for Case 2. Volg de instructies in de sectie voor Case 2.Follow the instructions in the section for Case 2.

Voor beeld 2: Time Series-model variabelen gebruiken en zowel integrale als niet-integrale typen in telemetriegegevens verzendenCase 2: Using Time Series Model variables and sending both integral and nonintegral types in telemetry data

Als u momenteel telemetriegegevens van een geheel getal verzendt, worden uw gegevens onderverdeeld in twee kolommen:If you currently send integer telemetry data, your data will be divided into two columns:

  • propertyValue_doublepropertyValue_double
  • propertyValue_longpropertyValue_long

De gegevens van het gehele getal worden wegge schreven naar propertyValue_long.Your integer data writes to propertyValue_long. Eerder opgenomen (en toekomstige opgenomen) numerieke gegevens in propertyValue_double worden niet gekopieerd.Previously ingested (and future ingested) numeric data in propertyValue_double isn't copied over.

Als u gegevens over deze twee kolommen wilt opvragen voor de eigenschap propertyValue , moet u de functie Coalesce () SCALAIR gebruiken in uw 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. De functie accepteert argumenten van hetzelfde gegevens type en retourneert de eerste niet-null-waarde in de argumenten lijst.The function accepts arguments of the same DataType and returns the first non-null value in the argument list. Zie Azure time series Insights Gen2 Data Access-conceptenvoor meer informatie.For more information, see Azure Time Series Insights Gen2 data access concepts.

Variabele definitie in TSX-numeriekVariable definition in TSX - numeric

Vorige variabele definitie:Previous variable definition:

Scherm afbeelding toont het dialoog venster een nieuwe variabele toevoegen voor de variabele PropertyValue en Numeriek.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable, numeric.

Nieuwe definitie van variabele:New variable definition:

Scherm afbeelding toont het dialoog venster een nieuwe variabele toevoegen voor de variabele PropertyValue met een aangepaste waarde, numeriek.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable with a custom value, numeric.

U kunt ook Coalesce ($Event. PropertyValue. double, toDouble ($Event. PropertyValue. Long)) gebruiken als de aangepaste Time Series-expressie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Definitie van inline-variabele met behulp van TSX-query-Api's-numeriekInline variable definition using TSX query APIs - numeric

Vorige variabele definitie:Previous variable definition:

"PropertyValueVariable": {

    "kind": "numeric",

    "value": {

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

    },

    "filter": null,

    "aggregation": {

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

Nieuwe definitie van variabele:New variable definition:

"PropertyValueVariable ": {

    "kind": "numeric",

    "value": {

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

    },

    "filter": null,

    "aggregation": {

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

U kunt ook Coalesce ($Event. PropertyValue. double, toDouble ($Event. PropertyValue. Long)) gebruiken als de aangepaste Time Series-expressie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Notitie

U wordt aangeraden deze variabelen bij te werken op alle locaties die kunnen worden gebruikt.We recommend that you update these variables in all places they might be used. Deze locaties zijn onder andere tijdreeks model, opgeslagen query's en Power BI connector query's.These places include Time Series Model, saved queries, and Power BI connector queries.

Voor beeld 3: Categorische-variabelen gebruiken om gehele waarden toe te wijzen aan categorieënCase 3: Using categorical variables to map integer values to categories

Als u momenteel Categorische variabelen gebruikt waarmee gehele waarden worden toegewezen aan categorieën, zult u waarschijnlijk de functie toLong gebruiken om gegevens van het type Double te converteren naar een lang type.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. Net als case 1 en 2 moet u de kolommen met dubbele en lange gegevens typen samenvoegd.Just like Cases 1 and 2, you need to coalesce the Double and Long DataType columns.

Variabele definitie in time series Explorer-categorischeVariable definition in Time Series Explorer - categorical

Vorige variabele definitie:Previous variable definition:

Scherm afbeelding toont het dialoog venster een nieuwe variabele toevoegen voor de variabele PropertyValue, categorische.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable, categorical.

Nieuwe definitie van variabele:New variable definition:

Scherm afbeelding toont het dialoog venster een nieuwe variabele toevoegen voor de variabele PropertyValue met een aangepaste waarde, categorische.Screenshot shows the Add a new variable dialog box for the PropertyValue Variable with a custom value, categorical.

U kunt ook Coalesce ($Event. PropertyValue. double, toDouble ($Event. PropertyValue. Long)) gebruiken als de aangepaste Time Series-expressie.You can also use coalesce($event.propertyValue.Double, toDouble($event.propertyValue.Long)) as the custom Time Series Expression.

Categorische-variabelen vereisen nog steeds een waarde van het type geheel getal.Categorical variables still require the value to be of an integer type. Het gegevens type van alle argumenten in Coalesce () moet van het type Long zijn in de aangepaste Time Series-expressie.The DataType of all the arguments in coalesce() must be of type Long in the custom Time Series Expression.

Definitie van inline-variabele met behulp van TSX-query-Api's-categorischeInline variable definition using TSX query APIs - categorical

Vorige variabele definitie: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"

    }
}

Nieuwe definitie van variabele: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"

    }
}

Categorische-variabelen vereisen nog steeds een waarde van het type geheel getal.Categorical variables still require the value to be of an integer type. Het gegevens type van alle argumenten in Coalesce () moet van het type Long zijn in de aangepaste Time Series-expressie.The DataType of all the arguments in coalesce() must be of type Long in the custom Time Series Expression.

Notitie

U wordt aangeraden deze variabelen bij te werken op alle locaties die kunnen worden gebruikt.We recommend that you update these variables in all places they might be used. Deze locaties zijn onder andere tijdreeks model, opgeslagen query's en Power BI connector query's.These places include Time Series Model, saved queries, and Power BI connector queries.

Case 4: de Java script-SDK gebruiken om een aangepaste front-end-toepassing te makenCase 4: Using the JavaScript SDK to build a custom front-end application

Als u wordt beïnvloed door cases 1 tot en met 3 en aangepaste toepassingen bouwt, moet u uw query's bijwerken om de functie Coalesce () te gebruiken, zoals wordt getoond in de voor gaande voor beelden.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.

Case 5: de eigenschaps limiet van de warme Store 1.000 bijna bereiktCase 5: Nearing Warm Store 1,000 property limit

Als u een warme winkel gebruiker bent met een groot aantal eigenschappen en denkt dat deze wijziging uw omgeving zou pushen over de 1.000 warme Store-eigenschap-naam limiet, dient u een ondersteunings ticket in te dienen via de Azure Portal en deze communicatie te vermelden.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.

Volgende stappenNext steps