إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
البيانات المرجعية هي مجموعة بيانات ثابتة أو متغيرة ببطء تدمجها مع بيانات البث الخاصة بك لإثرائها، مثل إضافة تفاصيل المنتج إلى تدفق فعاليات المبيعات. يدعم Azure Stream Analytics قاعدة بيانات Azure SQL كمصدر للبيانات المرجعية، بحيث يمكنك البحث عن هذه البيانات ودمج هذه البيانات مع مدخلاتك الفورية.
توضح لك هذه المقالة كيفية تكوين قاعدة بيانات قاعدة بيانات Azure SQL كمدخل بيانات مرجعي لوظيفة Stream Analytics، باستخدام كل من بوابة Azure وVisual Studio مع أدوات Stream Analytics.
إضافة بيانات مرجعية لقاعدة بيانات SQL باستخدام بوابة Azure
استخدم الخطوات التالية لإضافة قاعدة بيانات Azure SQL كمصدر إدخال مرجعي باستخدام بوابة Azure:
المتطلبات الأساسية للمدخل
إنشاء وظيفة تحليلات البث.
أنشئ حساب تخزين لوظيفة تحليلات التدفق لاستخدامها.
هام
Azure Stream Analytics يحتفظ باللقطات السريعة داخل هذا الحساب التخزيني. عند تكوين سياسة الاستبعاد، تأكد من أن الفترة الزمنية المختارة تتضمن مدة الاسترداد التي تريدها لوظيفتك في تحليلات التدفق (Stream Analytics).
أنشئ قاعدة بيانات Azure SQL الخاص بك باستخدام مجموعة بيانات تستخدمها وظيفة Stream Analytics كبيانات مرجعية.
تحديد إدخال بيانات مرجع SQL Database
في وظيفتك في Stream Analytics، حدد Inputs ضمن Job topology. اختر إضافة إدخال المرجع، ثم اختر قاعدة بيانات SQL.
املأ إعداد إدخال تحليلات التدفق. اختر اسم قاعدة البيانات، واسم الخادم، وبيانات الدخول لقاعدة البيانات. لتحديث إدخال بيانات المرجع بشكل دوري، اختر تشغيل وحدد معدل التحديث في DD:HH:MM. بالنسبة لمجموعات البيانات الكبيرة ذات معدل تحديث قصير، يقوم استعلام دلتا بتتبع التغيرات داخل بيانات المرجع عن طريق استرجاع جميع الصفوف في قاعدة بيانات SQL التي تم إدخالها أو حذفها بين وقت البدء ووقت
@deltaStartTimeالنهاية ووقت النهاية .@deltaEndTimeلمزيد من المعلومات، راجع استعلام دلتا.
اختبر استعلام اللقطة في محرر استعلام SQL. لمزيد من المعلومات، راجع استخدام محرر استعلامات SQL في بوابة Azure للاتصال واستعلام البيانات.
حدد حساب التخزين في إعدادات المهمة
اذهب إلى إعدادات حساب التخزين تحت الإعدادات، ثم اختر إضافة حساب تخزين.
بدء الوظيفة
- بعد أن تقوم بتكوين المدخلات والمخرجات والاستعلام الأخرى، ابدأ وظيفة تحليلات التدفق.
إضافة بيانات مرجعية لقاعدة بيانات SQL باستخدام Visual Studio
استخدم الخطوات التالية لإضافة قاعدة بيانات Azure SQL كمصدر مرجعي للإدخال باستخدام Visual Studio:
المتطلبات الأساسية لبرنامج Visual Studio
تثبيت أدوات Stream Analytics لبرنامج Visual Studio. تدعم أدوات تحليلات التدفق الإصدارات التالية من Visual Studio:
- Visual Studio 2015
- فيجوال ستوديو 2019
التعرف على كيفية بدء التشغيل السريع لأدوات Stream Analytics لبرنامج Visual Studio.
قم بإنشاء حساب تخزين.
هام
Azure Stream Analytics يحتفظ باللقطات السريعة داخل هذا الحساب التخزيني. عند تكوين سياسة الاستبعاد، تأكد من أن الفترة الزمنية المختارة تتضمن مدة الاسترداد التي تريدها لوظيفتك في تحليلات التدفق (Stream Analytics).
قم بإنشاء جدول SQL Database
استخدم SQL Server Management Studio لإنشاء جدول لتخزين بياناتك المرجعية. راجع تصميم أول قاعدة بيانات Azure SQL باستخدام Management Studio للحصول على التفاصيل.
العبارة التالية تنشئ جدول المثال:
create table chemicals(Id Bigint,Name Nvarchar(max),FullName Nvarchar(max));
اختر اشتراكك
في Visual Studio، في القائمة عرض، حدد مستكشف الخادم.
اختر Azure مع الضغط المستمر (أو انقر بزر الفأرة الأيمن)، ثم اختر Connect to Microsoft Azure Subscription، وسجل الدخول بحساب Azure الخاص بك.
قم بإنشاء مشروع Stream Analytics
اختر ملف>Project جديد.
في قائمة القوالب، اختر Stream Analytics، ثم اختر Azure Stream Analytics Application.
أدخل اسم المشروع، الموقع، واسم الحل، ثم اختر موافقا.
تحديد إدخال بيانات مرجع SQL Database
قم بإنشاء مدخلات جديدة.
افتح Input.json في مستكشف الحلول.
املأ تكوين إدخال Stream Analytics. أدخل اسم قاعدة البيانات، اسم الخادم، نوع التحديث، ومعدل التحديث. حدد معدل التحديث بالتنسيق
DD:HH:MM.
إذا اخترت تنفيذ مرة واحدة فقط أو تنفيذ بشكل دوري، Visual Studio يولد ملف SQL CodeBehind واحد باسم [Input alias].snapshot.sql في المشروع تحت عقدة الملف Input.json.
إذا اخترت تحديث دوري باستخدام دلتا، Visual Studio يولد ملفي SQL CodeBehind اثنين: [Input alias].snapshot.sql و[Input alias].delta.sql.
افتح ملف SQL في المحرر واكتب استعلام SQL.
إذا كنت تستخدم Visual Studio 2019 وقمت بتثبيت SQL Server Data Tools، يمكنك اختبار الاستعلام باختيار Execute. يفتح الساحر لمساعدتك على الاتصال بقاعدة بيانات SQL، وتظهر نتيجة الاستعلام في النافذة في الأسفل.
حدد حساب التخزين
افتح JobConfig.json لتحديد حساب التخزين لتخزين لقطات مرجعية SQL.
اختبر محلياً وقم بتوزيعها في Azure
قبل نشر المهمة على Azure، يمكنك اختبار منطق الاستعلام محليا مقابل بيانات الإدخال الحية. لمزيد من المعلومات حول هذه الميزة، راجع اختبار البيانات الحية محليا باستخدام أدوات Azure Stream Analytics for Visual Studio (Preview). عندما تنتهي من الاختبار، اختر الإرسال إلى Azure. لمعرفة كيفية بدء المهمة، راجع وظيفة إنشاء تحليلات التدفق باستخدام أدوات Azure Stream Analytics لبدء البداية السريعة في Visual Studio.
استعلام عن دلتا
عند استخدام استعلام دلتا، استخدم الجداول الزمنية في قاعدة بيانات Azure SQL.
قم بإنشاء جدول زمني في قاعدة بيانات Azure SQL.
CREATE TABLE DeviceTemporal ( [DeviceId] int NOT NULL PRIMARY KEY CLUSTERED , [GroupDeviceId] nvarchar(100) NOT NULL , [Description] nvarchar(100) NOT NULL , [ValidFrom] datetime2 (0) GENERATED ALWAYS AS ROW START , [ValidTo] datetime2 (0) GENERATED ALWAYS AS ROW END , PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo) ) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.DeviceHistory)); -- DeviceHistory table will be used in Delta queryتأليف استعلام اللقطة.
استخدم معامل @snapshotTime لتوجيه وقت تشغيل تحليلات التدفق للحصول على مجموعة البيانات المرجعية من جدول قاعدة بيانات SQL الزمني الصالح في وقت النظام. إذا لم تقدم هذا المعامل، فإنك تخاطر بالحصول على مجموعة بيانات مرجعية أساسية غير دقيقة بسبب انحرافات الساعة. المثال التالي يوضح استعلام لقطة كاملة:
SELECT DeviceId, GroupDeviceId, [Description] FROM dbo.DeviceTemporal FOR SYSTEM_TIME AS OF @snapshotTimeتأليف استعلام دلتا.
تسترجع هذه العبارة جميع الصفوف في قاعدة بيانات SQL التي تم إدخالها أو حذفها خلال وقت بدء @deltaStartTime ووقت نهاية @deltaEndTime. يجب أن يُرجع استعلام دلتا نفس الأعمدة مثل استعلام اللقطة، بالإضافة إلى العمود العملية. يحدد هذا العمود ما إذا كان يتم إدراج أو حذف الصف بين @deltaStartTime و@deltaEndTime. يتم وضع علامة على الصفوف الناتجة كـ 1 إذا تم إدراج السجلات، أو 2 إذا تم حذفها. يجب أن يضيف الاستعلام أيضاً علامة مائية من جانب SQL Server لضمان تسجيل كافة التحديثات في فترة دلتا بشكل مناسب. استخدام استعلام دلتا بدون علامة مائية قد يؤدي إلى مجموعة بيانات مرجعية غير صحيحة.
بالنسبة للسجلات التي تم تحديثها، يقوم الجدول الزمني بمسك الدفاتر من خلال التقاط عملية الإدراج والحذف. ثم يطبق وقت تشغيل تحليلات التدفق نتائج استعلام دلتا على اللقطة السابقة للحفاظ على تحديث بيانات المرجع. المثال التالي يوضح استعلام دلتا:
SELECT DeviceId, GroupDeviceId, Description, ValidFrom as _watermark_, 1 as _operation_ FROM dbo.DeviceTemporal WHERE ValidFrom BETWEEN @deltaStartTime AND @deltaEndTime -- records inserted UNION SELECT DeviceId, GroupDeviceId, Description, ValidTo as _watermark_, 2 as _operation_ FROM dbo.DeviceHistory -- table we created in step 1 WHERE ValidTo BETWEEN @deltaStartTime AND @deltaEndTime -- record deletedقد يقوم وقت تشغيل تحليلات التدفق بشكل دوري بتشغيل استعلام اللقطة بالإضافة إلى استعلام دلتا لتخزين نقاط التحقق.
هام
عند استخدام استعلامات دلتا بيانات المرجع، لا تقوم بتحديثات متطابقة لجدول بيانات المرجع الزمني عدة مرات. قد يؤدي ذلك إلى نتائج خاطئة. إليك مثالا قد يؤدي إلى نتائج بيانات مرجعية غير صحيحة:
UPDATE myTable SET VALUE=2 WHERE ID = 1; UPDATE myTable SET VALUE=2 WHERE ID = 1;المثال الصحيح:
UPDATE myTable SET VALUE = 2 WHERE ID = 1 and not exists (select * from myTable where ID = 1 and value = 2);تضمن هذه الحالة عدم حدوث تحديثات مكررة.
اختبار الاستعلام
تحقق من أن استعلامك يعيد مجموعة البيانات المتوقعة التي تستخدمها وظيفة تحليلات التدفق كبيانات مرجعية. لاختبار استفسارك، اذهب إلى قسم المدخلات في قسم طوبولوجيا الوظائف في البوابة. ثم اختر بيانات العينة في مدخل مرجعي لقاعدة بيانات SQL الخاصة بك. بعد توفر العينة، يمكنك تحميل الملف والتحقق مما إذا كانت البيانات المرتجعة كما هو متوقع. لتحسين تطويرك وتكرارات الاختبار، استخدم أدوات تحليلات التدفق ل Visual Studio. يمكنك أيضا استخدام أي أداة أخرى تفضلها أولا للتأكد من أن الاستعلام يعطي النتائج الصحيحة من قاعدة بيانات قاعدة بيانات Azure SQL الخاصة بك، ثم تستخدم تلك الأداة في وظيفة تحليلات التدفق الخاصة بك.
اختبر استعلامك باستخدام تعليمة Visual Studio برمجية
قم بتثبيت Azure Stream Analytics Tools وSQL Server (mssql) على تعليمة Visual Studio برمجية وقم بإعداد مشروع ASA الخاص بك. لمزيد من المعلومات، راجع التشغيل السريع: إنشاء مهمة Azure Stream Analytics في تعليمة Visual Studio برمجية والبرنامج التعليمي بشأن إضافة SQL Server (mssql).
تكوين إدخال البيانات المرجعية SQL الخاص بك.
اختر أيقونة SQL Server واختر إضافة الاتصال.
املأ معلومات الاتصال.
اختر واضغط باستمرار (أو انقر بزر الفأرة الأيمن) في SQL المرجعي ثم اختر تنفيذ الاستعلام.
اختر الاتصال الخاص بك.
مراجعة والتحقق من نتيجة الاستعلام الخاص بك.
الأسئلة المتداولة
هل أتحمل تكاليف إضافية عند استخدام إدخال بيانات SQL المرجعية في Azure Stream Analytics؟
لا توجد تكلفة إضافية لكل وحدة بث في وظيفة تحليلات التدفق. ومع ذلك، يجب أن يكون لوظيفة Stream Analytics حساب تخزين Azure مرتبط. تقوم وظيفة تحليلات التدفق بالاستعلام عن قاعدة بيانات SQL (خلال فترة بدء وتحديث المهمة) لاسترجاع مجموعة البيانات المرجعية وتخزين تلك اللقطة في حساب التخزين. تخزين هذه اللقطات يفرض رسوما إضافية موضحة في صفحة الأسعار لحساب تخزين Azure.
كيف أعرف إذا كان يتم الاستعلام عن لقطة بيانات مرجعية من قاعدة بيانات SQL واستخدامها في وظيفة Azure Stream Analytics؟
مقياسان، يتم تصفيتهما بواسطة الاسم المنطقي (تحت المقاييس في بوابة Azure)، تتيح لك مراقبة صحة بيانات المدخل المرجعي في قاعدة بيانات SQL.
- InputEvents: يقيس هذا المقياس عدد السجلات التي تم تحميلها من مجموعة بيانات قاعدة بيانات SQL المرجعية.
- InputEventBytes: يقيس هذا المقياس حجم لقطة البيانات المرجعية التي تم تحميلها في ذاكرة مهمة Stream Analytics.
معا، تشير المقياسان إلى ما إذا كانت المهمة تستعن قاعدة بيانات SQL لجلب مجموعة البيانات المرجعية ثم تحملها إلى الذاكرة.
هل أحتاج إلى نوع خاص من قاعدة بيانات Azure SQL؟
Azure Stream Analytics يعمل مع أي نوع من قاعدة بيانات Azure SQL. ومع ذلك، قد يؤثر معدل التحديث الذي تحدده لإدخال بيانات المرجع على حمل الاستعلام. لاستخدام خيار delta query، استخدم الجداول الزمنية في قاعدة بيانات Azure SQL.
لماذا يخزن Azure Stream Analytics snapshots في حساب تخزين Azure؟
تضمن Stream Analytics معالجة الأحداث مرة واحدة بالضبط وتسليم الأحداث على الأقل مرة واحدة. إذا كانت المشاكل المؤقتة تؤثر على عملك، فهناك حاجة لإعادة تشغيل بسيطة لاستعادة الحالة. لتمكين إعادة التشغيل، يجب تخزين هذه اللقطات في حساب تخزين Azure. لمزيد من المعلومات حول إعادة تشغيل نقطة التحقق، راجع نقاط التحقق ومفاهيم إعادة التشغيل في وظائف Azure Stream Analytics.
المحتوى ذو الصلة
- فهم المخرجات من Azure Stream Analytics
- إخراج Azure Stream Analytics إلى قاعدة بيانات Azure SQL
- زيادة أداء معدل النقل لـ قاعدة بيانات Azure SQL من Azure Stream Analytics
- استخدم الهويات المُدارة للوصول إلى قاعدة بيانات Azure SQL أو Azure Synapse Analytics من وظيفة Azure Stream Analytics
- تحديث السجلات أو دمجها في قاعدة بيانات Azure SQL باستخدام دالات Azure
- التشغيل السريع: إنشاء وظيفة Stream Analytics باستخدام مدخل Microsoft Azure