الإرشادات التفصيلية: تصدير إلى SQL من Application Insights باستخدام Stream Analytics
توضح هذه المقالة كيفية نقل بيانات تتبع الاستخدام منAzure Application Insightsإلى قاعدة بيانات azure SQL باستخدام التصدير المستمروAzure Stream Analytics.
يعمل التصدير المستمر على نقل بيانات تتبع الاستخدام إلى موقع تخزين Azure بتنسيق JSON. سنحلل عناصر JSON باستخدام Azure Stream Analytics وننشئ صفوف في جدول قاعدة بيانات.
(بشكل أعم، التصدير المستمر هو الطريقة لإجراء تحليلك الخاص للقياس عن بعد الذي ترسله تطبيقاتك إلى Insights التطبيق. يمكنك تكييف نموذج التعليمات البرمجية هذا للقيام بأشياء أخرى باستخدام القياس عن بعد المصدر، مثل تجميع البيانات.)
سنبدأ بافتراض أن لديك بالفعل التطبيق الذي تريد مراقبته.
في هذا المثال، سنستخدم بيانات عرض الصفحة، ولكن يمكن بسهولة توسيع نفس النمط ليشمل أنواع بيانات أخرى مثل الأحداث والاستثناءات المخصصة.
هام
تم إهمال التصدير المستمر وهو معتمد فقط لموارد Application Insights الكلاسيكية. ترحيل إلى مورد Application Insights القائم على مساحة العمل لاستخدام الإعدادات التشخيصية لتصدير بيانات تتبع الاستخدام.
إضافة Application Insights إلى تطبيقك
الشروع في العمل:
إعداد Application Insights لصفحات الويب الخاصة بك.
(في هذا المثال، سنركز على معالجة بيانات عرض الصفحة من متصفحات العميل، ولكن يمكنك أيضًا إعداد Application Insights لجانب الخادم من تطبيق JavaأوASP.NET ومعالجة الطلب والاعتماد وقياس الخادم الآخر.)
وزع تطبيقك، وشاهد بيانات تتبع الاستخدام التي تظهر في مورد Application Insights.
إنشاء موقع تخزين في Azure
يقوم التصدير المستمر دائمًا بإخراج البيانات إلى حساب موقع تخزين Azure، لذا تحتاج إلى إنشاء وحدة التخزين أولا.
أنشئ حساب تخزين في اشتراكك في مدخل Microsoft Azure.

إنشاء حاوية

نسخ مفتاح اختصار موقع التخزين
ستحتاج إليه قريبًا لإعداد المدخلات في خدمة تحليلات البث.

بدء التصدير المستمر إلى موقع تخزين Azure
في مدخل Microsoft Azure، استعرض للوصول إلى مورد Application Insights الذي قمت بإنشائه للتطبيق الخاص بك.

إنشاء تصدير مستمر.

حدد حساب التخزين الذي أنشأته.

تعيين أنواع الأحداث التي تريد مشاهدتها:

دع بعض البيانات تتراكم. استرخ والسماح للناس استخدام التطبيق الخاص بك لفترة من الوقت. ستأتي بيانات تتبع الاستخدام وسوف ترى المخططات الإحصائية في المستكشف المتري والأحداث الفردية في البحث التشخيصي.
وأيضًا، سيتم تصدير البيانات إلى موقع التخزين الخاص بك.
فحص البيانات المصدرة، إما في المدخل - اختر استعراض، حدد حساب التخزين الخاص بك، ثم حاويات - أو في Visual Studio. في Visual Studio، اختر «View / Cloud Explorer»، و»open Azure / Storage». (في حال لم يكن لديك خيار القائمة، فسوف تحتاج إلى تثبيت SDK Azure: افتح مربع الحوار «New Project» وافتح «Visual C# / Cloud / Get Microsoft Azure SDK for .NET)»

دوّن جزءًا مشتركًا من اسم المسار، الُمشتق من اسم التطبيق ومفتاح خاص بتقرير عن حالة النظام.
تتم كتابة الأحداث إلى ملفات blob بتنسيق JSON. قد يحتوي كل ملف على حدث واحد أو أكثر. لذلك نود قراءة بيانات الحدث وترشيح الحقول التي نريدها. هناك كل أنواع الأشياء التي يمكننا القيام بها بالبيانات، ولكن خطتنا اليوم هي استخدام Stream Analytics لنقل البيانات إلى قاعدة بيانات لغة الاستعلامات المركبة. وهذا سيجعل من السهل تشغيل الكثير من الاستفسارات المثيرة للاهتمام.
إنشاء قاعدة بيانات SQL Azure
مرة أخرى بدءا من اشتراكك في مدخل Microsoft Azure، إنشاء قاعدة البيانات (وخادم جديد، إلا إذا كنت قد حصلت بالفعل واحد) التي عليك كتابة البيانات.

تأكد من أن الملقم يسمح بالوصول إلى خدمات Azure:

إنشاء جدول في قاعدة بيانات في Azure SQL Database
الاتصال إلى قاعدة البيانات التي تم إنشاؤها في القسم السابق باستخدام أداة الإدارة المفضلة لديك. في هذه المعاينة، سوف نستخدم أدوات SQL Server الإداريةManagement Studio.

إنشاء استعلام جديد وتنفيذ SQL T التالية:
CREATE TABLE [dbo].[PageViewsTable](
[pageName] [nvarchar](max) NOT NULL,
[viewCount] [int] NOT NULL,
[url] [nvarchar](max) NULL,
[urlDataPort] [int] NULL,
[urlDataprotocol] [nvarchar](50) NULL,
[urlDataHost] [nvarchar](50) NULL,
[urlDataBase] [nvarchar](50) NULL,
[urlDataHashTag] [nvarchar](max) NULL,
[eventTime] [datetime] NOT NULL,
[isSynthetic] [nvarchar](50) NULL,
[deviceId] [nvarchar](50) NULL,
[deviceType] [nvarchar](50) NULL,
[os] [nvarchar](50) NULL,
[osVersion] [nvarchar](50) NULL,
[locale] [nvarchar](50) NULL,
[userAgent] [nvarchar](max) NULL,
[browser] [nvarchar](50) NULL,
[browserVersion] [nvarchar](50) NULL,
[screenResolution] [nvarchar](50) NULL,
[sessionId] [nvarchar](max) NULL,
[sessionIsFirst] [nvarchar](50) NULL,
[clientIp] [nvarchar](50) NULL,
[continent] [nvarchar](50) NULL,
[country] [nvarchar](50) NULL,
[province] [nvarchar](50) NULL,
[city] [nvarchar](50) NULL
)
CREATE CLUSTERED INDEX [pvTblIdx] ON [dbo].[PageViewsTable]
(
[eventTime] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

في هذه العينة، نستخدم بيانات من طرق عرض الصفحة. للاطلاع على البيانات الأخرى المتوفرة، قم بفحص مخرجات JSON، و اطلع على نموذج بيانات التصدير.
إنشاء مثيل Azure Stream Analytics
من مدخل Microsoft Azure، حدد خدمة Azure Stream Analytics، وأنشئ وظيفة Stream Analytics جديدة:


بمجرد إنشاء المورد، حدد انتقال إلى المورد.

إضافة إدخال جديد

اضبطه لأخذ مدخلات من ملف البيانات الثنائية الكبيرة للتصدير المستمر:

ستحتاج الآن إلى مفتاح الوصول الأساسي من حساب التخزين، الذي لاحظته سابقًا. تعيين هذا كمفتاح حساب التخزين.
تعيين نمط بادئة المسار
تأكد من ضبط تنسيق التاريخ على YYYY-MM-DD (مع وضع الشرطة).
يحدد نمط بادئة المسار كيف يعثر Stream Analytics على ملفات الإدخال في موقع التخزين. تحتاج إلى تعيينها لتتوافق مع كيفية تخزين "Continuous Export" للبيانات. تعيينها كما يلي:
webapplication27_12345678123412341234123456789abcdef0/PageViews/{date}/{time}
في هذا المثال:
webapplication27اسم مورد Application Insights بأحرف صغيرة.1234...هو مفتاح تقرير عن حالة النظام من مورد Application Insightsحذف الشرطات.PageViewsهو نوع البيانات التي تريد تحليلها. تعتمد الأنواع المتوفرة على عامل التصفية الذي قمت بتعيينه في "Continuous Export.". فحص البيانات المصدرة للاطلاع على الأنواع الأخرى المتوفرة، وراجع نموذج بيانات التصدير./{date}/{time}هو النمط المكتوب حرفيًا.
للحصول على اسم ومفتاح iKey لمورد Application Insights الخاص بك، افتح Essentials في صفحة النظرة العامة الخاصة به، أو افتح الإعدادات.
تلميح
استخدم الدالة نموذج للتحقق من تعيين مسار الإدخال بشكل صحيح. إذا فشل: تحقق من وجود بيانات في التخزين لنطاق الوقت العينة الذي اخترته. تحرير تعريف الإدخال والتحقق من تعيين حساب التخزين، بادئة المسار وتنسيق التاريخ بشكل صحيح.
تعيين استعلام
افتح قسم الاستعلام:
استبدل الاستعلام الافتراضي بـ:
SELECT flat.ArrayValue.name as pageName
, flat.ArrayValue.count as viewCount
, flat.ArrayValue.url as url
, flat.ArrayValue.urlData.port as urlDataPort
, flat.ArrayValue.urlData.protocol as urlDataprotocol
, flat.ArrayValue.urlData.host as urlDataHost
, flat.ArrayValue.urlData.base as urlDataBase
, flat.ArrayValue.urlData.hashTag as urlDataHashTag
,A.context.data.eventTime as eventTime
,A.context.data.isSynthetic as isSynthetic
,A.context.device.id as deviceId
,A.context.device.type as deviceType
,A.context.device.os as os
,A.context.device.osVersion as osVersion
,A.context.device.locale as locale
,A.context.device.userAgent as userAgent
,A.context.device.browser as browser
,A.context.device.browserVersion as browserVersion
,A.context.device.screenResolution.value as screenResolution
,A.context.session.id as sessionId
,A.context.session.isFirst as sessionIsFirst
,A.context.location.clientip as clientIp
,A.context.location.continent as continent
,A.context.location.country as country
,A.context.location.province as province
,A.context.location.city as city
INTO
AIOutput
FROM AIinput A
CROSS APPLY GetElements(A.[view]) as flat
لاحظ أن الخصائص القليلة الأولى خاصة ببيانات عرض الصفحة. وسيكون لصادرات أنواع القياس عن بعد الأخرى خصائص مختلفة. مرجع نموذج بيانات مفصل لأنواع وقيم الخصائص والقيم.
إعداد الإخراج إلى قاعدة البيانات
حدد SQL كمخرج.

حدد قاعدة البيانات.

أغلق المعالج وانتظر إعلاما بإعداد الإخراج.
بدء المعالجة
بدء المهمة من شريط الإجراءات:

يمكنك اختيار ما إذا كنت تريد بدء معالجة البيانات بدءا من الآن، أو البدء ببيانات سابقة. هذا الأخير مفيد إذا كان لديك تصدير مستمر قيد التشغيل بالفعل لفترة من الوقت.
بعد بضع دقائق، عد إلى أدوات SQL Server الإدارية وشاهد البيانات المتدفقة. على سبيل المثال، استخدم استعلاما مثل هذا:
SELECT TOP 100 *
FROM [dbo].[PageViewsTable]