Sdílet prostřednictvím


Nadcházející změny zploštěných a uvozových pravidel JSON pro nová prostředí

Poznámka:

Služba Time Series Insights bude vyřazena 7. července 2024. Zvažte migraci stávajících prostředí na alternativní řešení co nejdříve. Další informace o vyřazení a migraci najdete v naší dokumentaci.

Důležité

Tyto změny se použijí jenom pro nově vytvořená prostředí Microsoft Azure Time Series Insights Gen2. Změny se nevztahují na prostředí Gen1.

Vaše prostředí Azure Time Series Insights Gen2 dynamicky vytváří sloupce úložiště podle konkrétní sady zásad vytváření názvů. Při ingestování události použije Time Series Insights sadu pravidel na datové části JSON a názvy vlastností. Změny toho, jak se data JSON zploštěla a ukládají, se projevila v nových prostředích Azure Time Series Insights Gen2 v červenci 2020. Tato změna se vás bude týkat v následujících případech:

  • Datová část JSON obsahuje vnořené objekty.
  • Datová část JSON obsahuje pole.
  • V názvu vlastnosti JSON použijete některý z následujících čtyř speciálních znaků: [ \ . '
  • Jedna nebo více vlastností ID časové řady (TS) se nachází vnořeném objektu.

Pokud vytvoříte nové prostředí a jeden nebo více z těchto případů platí pro datovou část události, data se zploštěnou a uloží jinak. Následující tabulka shrnuje změny:

Aktuální pravidlo Nové pravidlo Příklad JSON Název předchozího sloupce Nový název sloupce
Vnořený JSON je zploštěný pomocí podtržítka jako delineátoru. Vnořený JSON je zploštěný pomocí tečky jako delineátoru. {"series" : { "value" : 19.338 }} series_value_double series.value_double
Speciální znaky nejsou uchycené. Názvy vlastností JSON, které obsahují speciální znaky . [\ a ' jsou uchycené pomocí [' a ']. Uvnitř [' a '], tam je další únik jednoduchých uvozovek a zpětných lomítek. Jedna uvozovka se zapíše jako \' zpětné lomítko jako \\. "Foo's Law Value": "17.139999389648" Foo's Law Value_double ['Foo\'s Law Value']_double
Pole primitiv jsou uložena jako řetězec. Pole primitivních typů jsou uložena jako dynamický typ. "values": [154, 149, 147] values_string values_dynamic
Pole objektů jsou vždy zploštěna a vytvářejí více událostí. Pokud objekty v poli nemají buď ID TS, nebo vlastnosti časového razítka, pole objektů je uloženo jako dynamický typ. "values": [{"foo" : 140}, {"bar" : 149}] values_foo_long | values_bar_long values_dynamic

Pokud je vaše ID a/nebo vlastnost časového razítka vnořená do objektu

Všechna nová nasazení musí odpovídat novým pravidlům příjmu dat. Pokud je telemetry_tagIdnapříklad VAŠE ID TS , musíte aktualizovat všechny šablony Azure Resource Manageru nebo automatizovaně nasazovat skripty tak, aby se nakonfigurovali telemetry.tagId jako ID TS prostředí. Tuto změnu potřebujete také pro časové razítka zdroje událostí ve vnořeném formátu JSON.

Pokud datová část obsahuje vnořené znaky JSON nebo speciální znaky a automatizujete vytváření výrazů proměnných modelu Time Series Model .

Aktualizujte klientský kód, který spouští TypesBatchPut tak, aby odpovídal novým pravidlům příjmu dat. Měli byste například aktualizovat předchozí výraz "value": {"tsx": "$event.series_value.Double"} časové řady na jednu z následujících možností:

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

Další kroky