Aanstaande wijzigingen in JSON-afvlakkings- en escaperegels voor nieuwe omgevingen

Notitie

De Tsi-service (Time Series Insights) wordt na maart 2025 niet meer ondersteund. Overweeg om bestaande TSI-omgevingen zo snel mogelijk te migreren naar alternatieve oplossingen. Raadpleeg onze documentatie voor meer informatie over de afschaffing en migratie.

Belangrijk

Deze wijzigingen worden alleen toegepast op nieuw gemaakte Microsoft Azure Time Series Insights Gen2-omgevingen. De wijzigingen zijn niet van toepassing op Gen1-omgevingen.

Uw Azure Time Series Insights Gen2-omgeving maakt dynamisch uw opslagkolommen volgens een bepaalde set naamconventies. Wanneer een gebeurtenis wordt opgenomen, past Time Series Insights een set regels toe op de JSON-nettolading en eigenschapsnamen. Wijzigingen in de wijze waarop JSON-gegevens worden afgevlakt en opgeslagen, zijn in juli 2020 van kracht geworden voor nieuwe Azure Time Series Insights Gen2-omgevingen. Deze wijziging is van invloed op u in de volgende gevallen:

  • Uw JSON-nettolading bevat geneste objecten.
  • Uw JSON-nettolading bevat matrices.
  • U gebruikt een van de volgende vier speciale tekens in de naam van een JSON-eigenschap: [\.'
  • Een of meer eigenschappen van uw Time Series-id (TS) bevinden zich in een genest object.

Als u een nieuwe omgeving maakt en een of meer van deze cases van toepassing zijn op de nettolading van uw gebeurtenis, worden uw gegevens afgevlakt en anders opgeslagen. De volgende tabel bevat een overzicht van de wijzigingen:

Huidige regel Nieuwe regel Voorbeeld van JSON Vorige kolomnaam Nieuwe kolomnaam
Geneste JSON wordt afgevlakt door een onderstrepingsteken als de delineator te gebruiken. Geneste JSON wordt afgevlakt door een punt als de delineator te gebruiken. {"series" : { "value" : 19.338 }} series_value_double series.value_double
Speciale tekens worden niet ge escaped. JSON-eigenschapsnamen die de speciale tekens .[\ bevatten en ' een escape-teken bevatten met behulp van [' en .'] Binnen [' en ']zijn er extra escapes van enkele aanhalingstekens en backslashes. Eén aanhalingsteken wordt geschreven als \' en een backslash als \\. "Foo's Law Value": "17.139999389648" Foo's Law Value_double ['Foo\'s Law Value']_double
Matrices met primitieven worden opgeslagen als een tekenreeks. Matrices met primitieve typen worden opgeslagen als een dynamisch type. "values": [154, 149, 147] values_string values_dynamic
Matrices met objecten worden altijd afgevlakt, waardoor meerdere gebeurtenissen worden gegenereerd. Als de objecten in een matrix niet de eigenschappen TS-id of tijdstempel hebben, wordt de matrix met objecten in zijn geheel opgeslagen als een dynamisch type. "values": [{"foo" : 140}, {"bar" : 149}] values_foo_long | values_bar_long values_dynamic

Als uw TS-id en/of tijdstempeleigenschap is genest in een object

Nieuwe implementaties moeten overeenkomen met de nieuwe opnameregels. Als uw TS-id bijvoorbeeld istelemetry_tagId, moet u Azure Resource Manager-sjablonen of geautomatiseerde implementatiescripts bijwerken om te configureren telemetry.tagId als de omgevings-TS-id. U hebt deze wijziging ook nodig voor tijdstempels van gebeurtenisbronnen in geneste JSON.

Als uw nettolading geneste JSON- of speciale tekens bevat en u het ontwerpen van time series modelvariabeleexpressies automatiseert

Werk uw clientcode bij waarmee TypesBatchPut wordt uitgevoerd, zodat deze overeenkomt met de nieuwe opnameregels. U moet bijvoorbeeld een vorige Time Series-expressie van "value": {"tsx": "$event.series_value.Double"} bijwerken naar een van de volgende opties:

  • "value": {"tsx": "$event.series.value.Double"}
  • "value": {"tsx": "$event['series']['value'].Double"}

Volgende stappen