Teilen über


Bevorstehende Änderungen an den JSON-Vereinfachungs- und -Escaperegeln für neue Umgebungen

Hinweis

Der Time Series Insights-Dienst wird am 7. Juli 2024 eingestellt. Erwägen Sie, vorhandene Umgebungen so bald wie möglich zu alternativen Lösungen zu migrieren. Weitere Informationen zur Einstellung und Migration finden Sie in unserer Dokumentation.

Wichtig

Diese Änderungen werden nur auf neu erstellte Microsoft Azure Time Series Insights Gen2-Umgebungen angewandt. Sie gelten nicht für Gen1-Umgebungen.

Ihre Azure Time Series Insights Gen2-Umgebung erstellt die Speicherspalten dynamisch unter Berücksichtigung bestimmter Namenskonventionen. Wenn ein Ereignis erfasst wird, wendet Time Series Insights bestimmte Regeln auf die Namen der JSON-Nutzdaten und JSON-Eigenschaften an. Seit Juli 2020 gelten für neue Azure Time Series Insights Gen2-Umgebungen Änderungen an der Art und Weise, wie JSON-Daten vereinfacht und gespeichert werden. Dies betrifft Sie in den folgenden Fällen:

  • Ihre JSON-Nutzdaten enthalten geschachtelte Objekte.
  • Ihre JSON-Nutzdaten enthalten Arrays.
  • Sie verwenden eines der folgenden vier Sonderzeichen in einem JSON-Eigenschaftennamen: [, \, ., '.
  • Eine oder mehrere Ihrer Zeitreihen-ID-Eigenschaften sind in einem geschachtelten Objekt enthalten.

Wenn Sie eine neue Umgebung erstellen und mindestens einer der Fälle auf Ihre Ereignisnutzdaten zutrifft, werden Ihre Daten anders vereinfacht und gespeichert. Die Änderungen sind in der folgenden Tabelle zusammengefasst:

Aktuelle Regel Neue Regel Beispiel-JSON Vorheriger Spaltenname Neuer Spaltenname
Geschachtelter JSON-Code wird mithilfe eines Unterstrichs als Trennzeichen vereinfacht. Geschachtelter JSON-Code wird mithilfe eines Punkts als Trennzeichen vereinfacht. {"series" : { "value" : 19.338 }} series_value_double series.value_double
Bei Sonderzeichen werden keine Escapezeichen verwendet. Für JSON-Eigenschaftennamen, die die Sonderzeichen ., [, \ oder ' enthalten, werden als Escapezeichen [' und '] verwendet. Zwischen [' und '] werden bei einfachen Anführungszeichen und umgekehrten Schrägstrichen ebenfalls Escapezeichen verwendet. Ein einfaches Anführungszeichen wird als \' geschrieben und ein umgekehrter Schrägstrich als \\. "Foo's Law Value": "17.139999389648" Foo's Law Value_double ['Foo\'s Law Value']_double
Arrays von primitiven Typen werden als Zeichenfolgen gespeichert. Arrays von primitiven Typen werden als dynamische Typen gespeichert. "values": [154, 149, 147] values_string values_dynamic
Arrays von Objekten werden immer vereinfacht, und es werden mehrere Ereignisse generiert. Wenn die Objekte in einem Array weder über die Zeitreihen-ID noch über Zeitstempeleigenschaften verfügen, wird das gesamte Array von Objekten als dynamischer Typ gespeichert. "values": [{"foo" : 140}, {"bar" : 149}] values_foo_long | values_bar_long values_dynamic

Wenn die TS-ID und/oder die Zeitstempeleigenschaft innerhalb eines Objekts geschachtelt ist

Alle neuen Bereitstellungen müssen den neuen Erfassungsregeln entsprechen. Wenn Ihre Zeitreihen-ID z. B. telemetry_tagId lautet, müssen Sie alle Azure Resource Manager-Vorlagen oder automatisierten Bereitstellungsskripts so aktualisieren, dass telemetry.tagId als Zeitreihen-ID für die Umgebung konfiguriert ist. Diese Änderung ist auch bei Zeitstempeln für Ereignisquellen in geschachteltem JSON-Code erforderlich.

Wenn Ihre Nutzlast geschachtelten JSON-Code oder Sonderzeichen enthält, und Sie die Erstellung von variablen Ausdrücken für das Zeitreihenmodell automatisieren

Aktualisieren Sie den Clientcode, über den TypesBatchPut ausgeführt wird, um ihn an die neuen Erfassungsregeln anzupassen. Beispielsweise sollte ein bisheriger Zeitreihenausdruck von "value": {"tsx": "$event.series_value.Double"} in eine der folgenden Optionen geändert werden:

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

Nächste Schritte