Yeni ortamlar için JSON düzleştirme ve kaçış kurallarında yapılacak değişiklikler

Not

Time Series Insights (TSI) hizmeti artık Mart 2025'in ardından desteklenmeyecektir. Mevcut TSI ortamlarını mümkün olan en kısa sürede alternatif çözümlere geçirmeyi göz önünde bulundurun. Kullanımdan kaldırma ve geçiş hakkında daha fazla bilgi için belgelerimizi ziyaret edin.

Önemli

Bu değişiklikler yalnızca yeni oluşturulan Microsoft Azure Time Series Insights 2. Nesil ortamlarına uygulanır. Değişiklikler 1. Nesil ortamları için geçerli değildir.

Azure Time Series Insights 2. Nesil ortamınız, belirli bir adlandırma kuralları kümesini izleyerek depolama sütunlarınızı dinamik olarak oluşturur. Bir olay alındığında Time Series Insights, JSON yüküne ve özellik adlarına bir dizi kural uygular. JSON verilerinin düzleştirme ve depolanma şeklindeki değişiklikler, Temmuz 2020'de yeni Azure Time Series Insights 2. Nesil ortamları için geçerli oldu. Bu değişiklik aşağıdaki durumlarda sizi etkiler:

  • JSON yükünüz iç içe nesneler içeriyor.
  • JSON yükünüz diziler içeriyor.
  • Bir JSON özellik adında aşağıdaki dört özel karakterden herhangi birini kullanırsınız: [\.'
  • Zaman Serisi (TS) kimliği özelliklerinizden biri veya daha fazlası iç içe nesne içindedir.

Yeni bir ortam oluşturursanız ve bu durumlardan biri veya daha fazlası olay yükünüz için geçerliyse verileriniz düzleştirilebilir ve farklı şekilde depolanır. Aşağıdaki tabloda değişiklikler özetlemektedir:

Geçerli kural Yeni kural Örnek JSON Önceki sütun adı Yeni sütun adı
İç içe JSON, çizgileyici olarak bir alt çizgi kullanılarak düzleştirilmiştir. İç içe JSON, çizgileyici olarak nokta kullanılarak düzleştirilmiştir. {"series" : { "value" : 19.338 }} series_value_double series.value_double
Özel karakterler kaçılmaz. Özel karakterleri .[\ içeren ve ' ve ']kullanılarak [' kaçış yapılan JSON özellik adları. ve ']içinde[', tek tırnak işaretleri ve ters eğik çizgilerden daha fazla kaçış vardır. Tek tırnak olarak \' , ters eğik çizgi olarak \\yazılır. "Foo's Law Value": "17.139999389648" Foo's Law Value_double ['Foo\'s Law Value']_double
İlkel diziler dize olarak depolanır. İlkel tür dizileri dinamik tür olarak depolanır. "values": [154, 149, 147] values_string values_dynamic
Nesne dizileri her zaman düzleştirilmiştir ve birden çok olay oluşturur. Dizideki nesneler TS Kimliği veya zaman damgası özelliklerine sahip değilse, nesne dizisi dinamik bir tür olarak bütün olarak depolanır. "values": [{"foo" : 140}, {"bar" : 149}] values_foo_long | values_bar_long values_dynamic

TS Kimliğiniz ve/veya zaman damgası özelliğiniz bir nesne içinde iç içe yerleştirilmişse

Yeni dağıtımların yeni alım kurallarıyla eşleşmesi gerekir. Örneğin, TS kimliğiniz isetelemetry_tagId, ortam TS Kimliği olarak yapılandırmak telemetry.tagId için tüm Azure Resource Manager şablonlarını veya otomatik dağıtım betiklerini güncelleştirmeniz gerekir. İç içe JSON'daki olay kaynağı zaman damgaları için de bu değişikliğe ihtiyacınız vardır.

Yükünüz iç içe JSON veya özel karakterler içeriyorsa ve Time Series Model değişken ifadeleri yazmayı otomatikleştirirseniz

TypesBatchPut çalıştıran istemci kodunuzu yeni alım kurallarıyla eşleşecek şekilde güncelleştirin. Örneğin, önceki bir Time Series İfadesini"value": {"tsx": "$event.series_value.Double"} aşağıdaki seçeneklerden biriyle güncelleştirmeniz gerekir:

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

Sonraki adımlar