التغييرات القادمة على قواعد JSON للتسطيح والهروب للبيئات الجديدة
ملاحظة
لن يتم دعم خدمة Insights السلاسل الزمنية (TSI) بعد مارس 2025. فكر في ترحيل بيئات TSI الحالية إلى حلول بديلة في أقرب وقت ممكن. لمزيد من المعلومات حول الإهمال والترحيل، يرجى زيارة وثائقنا.
هام
سيتم تطبيق هذه التغييرات على Microsoft Azure Time Series التي تم إنشاؤها حديثا Insights بيئات Gen2 فقط. لا تنطبق التغييرات على بيئات Gen1.
تقوم بيئة Azure Time Series Insights Gen2 بإنشاء أعمدة التخزين الخاصة بك بشكل ديناميكي، باتباع مجموعة معينة من اصطلاحات التسمية. عند استيعاب حدث، تطبق السلسلة الزمنية Insights مجموعة من القواعد على حمولة JSON وأسماء الخصائص. دخلت التغييرات التي طرأت على كيفية تسطيح بيانات JSON وتخزينها حيز التنفيذ لبيئات Azure Time Series الجديدة Insights Gen2 في يوليو 2020. يؤثر هذا التغيير عليك في الحالات التالية:
- تحتوي حمولة JSON على كائنات متداخلة.
- تحتوي حمولة JSON على صفائف.
- يمكنك استخدام أي من الأحرف الخاصة الأربعة التالية في اسم خاصية JSON:
[\.' - يوجد واحد أو أكثر من خصائص معرف السلسلة الزمنية (TS) داخل كائن متداخل.
إذا قمت بإنشاء بيئة جديدة وتنطبق حالة واحدة أو أكثر من هذه الحالات على حمولة الحدث، تسوية بياناتك وتخزينها بشكل مختلف. ويلخص الجدول التالي التغييرات:
| القاعدة الحالية | قاعدة جديدة | مثال JSON | اسم العمود السابق | اسم عمود جديد |
|---|---|---|---|---|
| يتم تسطيح JSON المتداخل باستخدام تسطير سفلي كمحدد. | يتم تسطيح JSON المتداخل باستخدام نقطة كمحدد. | {"series" : { "value" : 19.338 }} |
series_value_double |
series.value_double |
| لا يتم الهروب من الأحرف الخاصة. | أسماء خصائص JSON التي تتضمن الأحرف .[\ الخاصة ويتم ' الهروب منها باستخدام [' و .'] داخل [' و ']، هناك هروب إضافي من علامات الاقتباس الفردية والشرطة المائلة الخلفية. سيتم كتابة اقتباس واحد ك وشرطة مائلة عكسية ك \'\\. |
"Foo's Law Value": "17.139999389648" |
Foo's Law Value_double |
['Foo\'s Law Value']_double |
| يتم تخزين صفائف من البدائيات كسلسلة. | يتم تخزين صفائف الأنواع البدائية كنوع ديناميكي. | "values": [154, 149, 147] |
values_string |
values_dynamic |
| يتم دائما تسطيح صفائف الكائنات ، مما ينتج عنه أحداث متعددة. | إذا لم يكن للكائنات الموجودة داخل صفيف خصائص معرف TS أو الطابع الزمني، تخزين صفيف الكائنات بالكامل كنوع ديناميكي. | "values": [{"foo" : 140}, {"bar" : 149}] |
values_foo_long | values_bar_long |
values_dynamic |
التغييرات الموصى بها للبيئات الجديدة
إذا كانت خاصية معرف TS و/أو الطابع الزمني متداخلة داخل كائن
يجب أن تتطابق أي عمليات نشر جديدة مع قواعد الابتلاع الجديدة. على سبيل المثال، إذا كان معرف TS الخاص بك هو telemetry_tagId، فأنت بحاجة إلى تحديث أي قوالب Azure Resource Manager أو نشر البرامج النصية تلقائيا لتكوينها telemetry.tagId كمعرف TS للبيئة. تحتاج أيضا إلى هذا التغيير للطوابع الزمنية لمصدر الحدث في JSON المتداخل.
إذا كانت الحمولة تحتوي على JSON متداخلة أو أحرف خاصة وكنت تقوم تلقائيا بتأليف تعبيرات متغيرات طراز السلسلة الزمنية
قم بتحديث رمز العميل الذي ينفذ TypesBatchPut لمطابقة قواعد الابتلاع الجديدة. على سبيل المثال، يجب تحديث تعبير "value": {"tsx": "$event.series_value.Double"}سلسلة زمنية سابق إلى أحد الخيارات التالية:
"value": {"tsx": "$event.series.value.Double"}"value": {"tsx": "$event['series']['value'].Double"}
الخطوات التالية
تعرف على كيفية الاستعلام عن بياناتك باستخدام واجهات برمجة تطبيقات استعلام السلاسل الزمنية.
اقرأ المزيد حول بناء جملة تعبير السلسلة الزمنية الجديد.