البرنامج التعليمي - كتابة الوظائف المحددة لـ C# user لـ Azure Stream Analytics (معاينة)

هام

سيتم إيقاف وظائف .Net Standard المعرفة من قبل المستخدم ل Azure Stream Analytics في 30 سبتمبر 2024. بعد ذلك التاريخ، لن يكون من الممكن استخدام الميزة. يرجى الانتقال إلى وظائف JavaScript المعرفة من قبل المستخدم ل Azure Stream Analytics.

الوظائف المحددة لمستخدم C# (UDFs) التي تُنشأ في Visual Studio تسمح لك بتوسيع لغة الاستعلام Azure Stream Analytics مع وظائفك. يمكنك إعادة استخدام التعليمات الرمز الموجود (بما في ذلك DLLs) واستخدام منطق رياضي أو معقد مع C#. هناك ثلاث طرق لتنفيذ UDFs:

  • ملفات CodeBehind في مشروع Stream Analytics
  • UDFs من مشروع C# محلي
  • UDFs من حزمة موجودة من حساب تخزين.

يستخدم هذا البرنامج التعليمي أسلوب CodeBehind لتنفيذ وظيفة #C الأساسية. ميزة UDF لوظائف Stream Analytics قيد المعاينة حالياً، ولا يجب استخدامها في أعباء العمل الإنتاجية.

في هذا البرنامج التعليمي، تتعلم كيفية:

  • إنشاء وظيفة محددة لـ C# user باستخدام CodeBehind.
  • اختبار وظيفة Stream Analytics محليا.
  • نشر وظيفتك على Azure.

المتطلبات الأساسية

قبل البدء، تأكد من إكمال المتطلبات الأساسية التالية:

إنشاء حاوية في حساب تخزين Azure

يتم استخدام الحاوية التي تقوم بإنشائها لتخزين حزمة C# المحولة برمجيا. إذا قمت بإنشاء مهمة Edge، يتم استخدام حساب التخزين هذا أيضا لنشر الحزمة على جهاز IoT Edge. استخدام حاوية مخصصة لكل وظيفة من وظائف Stream Analytics. إعادة استخدام نفس الحاوية لمهام Stream Analytics Edge المتعددة غير مدعومة. إذا كان لديك حساب تخزين مزود بحاويات موجودة بالفعل، يمكنك استخدامها. إذا لم يكن الأمر كما هو، فأنت بحاجة إلى إنشاء حاوية جديدة.

أنشئ مشروع Stream Analytics

  1. ابدأ تشغيل Visual Studio.

  2. حدد ملف > جديد > مشروع.

  3. في قائمة القوالب على اليسار، حدد Stream Analytics، ثم حدد تطبيق Azure Stream Analytics Edge أو تطبيق تحليلات Azure Stream.

  4. أدخل الاسم والموقع واسم الحل وحدد موافق.

    Create an Azure Stream Analytics Edge project in Visual Studio

تكوين مسار حزمة التجميع

  1. افتح Visual Studio واذهب إلى مستكشف الحلول.

  2. حدد ملف تكوين المهمة بضغطتين على زر الماوس JobConfig.json.

  3. وسع قسم تكوين التعليمات البرمجية المعرفة من قِبَل المستخدم ثم املأ التكوين بالقيم المقترحة التالية:

    الإعداد القيم المقترحة
    مورد إعدادات التخزين العام اختيار مصدر البيانات من حساب جارٍ
    اشتراك إعدادات التخزين العام < اشتراكك >
    حساب تخزين إعدادات التخزين العام < حساب التخزين الخاص بك >
    مورد إعدادات تخزين الرمز المخصص اختيار مصدر البيانات من حساب جارٍ
    حساب تخزين إعدادات الرمز المخصص < حساب التخزين الخاص بك >
    حاوية إعدادات تخزين الرمز المخصص < حاوية التخزين الخاصة بك >

كتابة C # UDF مع CodeBehind

ملف CodeBehind هو ملف C# مقترن بالبرنامج النصي الأحادي ASA. تقوم أدوات Visual Studio تلقائيا بضغط ملف CodeBehind وتحميله إلى حساب تخزين Azure الخاص بك عند الإرسال. يجب تعريف جميع الفئات على أنها عامة ويجب تعريف جميع الكائنات تحت صفة عام ثابت.

  1. في مستكشف الحلول، وسع Script.asql للبحث عن ملف Script.asaql.cs CodeBehind.

  2. استبدل الرمز الخاص بالنموذج التالي:

        using System; 
        using System.Collections.Generic; 
        using System.IO; 
        using System.Linq; 
        using System.Text; 
    
        namespace ASAEdgeUDFDemo 
        { 
            public class Class1 
            { 
                // Public static function 
                public static Int64 SquareFunction(Int64 a) 
                { 
                    return a * a; 
                } 
            } 
        } 
    

تنفيذ UDF

  1. في مستكشف الحلول، افتح ملف Script.asaql.

  2. استبدل الاستعلام الموجود بالاستعلام التالي:

        SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))
        INTO Output
        FROM Input 
    

الاختبار المحلي

  1. تحميل نموذج محاكاة درجة الحرارة ملف البيانات.

  2. في مستكشف الحلول، وسع المدخلات، حدد بزر الماوس الأيمن فوق Input.jsعلى، وحدد إضافة إدخال محلي.

    Add local input to Stream Analytics job in Visual Studio

  3. حدد مسار ملف الإدخال المحلي لبيانات النموذج التي نزلتها وحدد حفظ.

    Local input configuration for Stream Analytics job in Visual Studio

  4. حدد على تشغيل محليا في محرر البرنامج النصي. بمجرد نجاح التشغيل المحلي في حفظ نتائج المخرجات، اضغط على أي مفتاح للاطلاع على النتائج بتنسيق الجدول.

    Run Azure Stream Analytics job locally with Visual Studio

  5. يمكنك أيضاً تحديد فتح مجلد النتائج لعرض الملفات الأولية بتنسيق JSON وCSV.

    View results of local Azure Stream Analytics job with Visual Studio

تصحيح UDF

يمكنك تصحيح C# UDF محلياً بنفس الطريقة التي تصحح بها الرمز القياس لـ C#‎.

  1. إضافة نقاط توقف في وظيفة C#‎.

    Add breakpoints to Stream Analytics user-defined function in Visual Studio

  2. اضغط F5 لبدء التصحيح. يتوقف البرنامج عند نقاط التوقف الخاصة بك كما هو متوقع.

    View Stream Analytics user-defined function debugging results

نشر وظيفتك على Azure

بمجرد اختبار الاستعلام محلياً، حدد تقديم إلى Azure في محرر البرنامج النصي لنشر الوظيفة إلى Azure.

Submit your Stream Analytics Edge job to Azure from Visual Studio

النشر على أجهزة IoT Edge

إذا اخترت إنشاء وظيفة Stream Analytics Edge، يمكن الآن نشرها كوحدة IoT Edge. اتبع قالب التشغيل السريع لـ IoT Edge لإنشاء مركز IoT وتسجيل جهاز IoT Edge وتثبيت وقت تشغيل IoT Edge وبدء تشغيله على جهازك. ثم اتبع نشر البرنامج التعليمي نشر الوظيفة لنشر وظيفة Stream Analytics كوحدة IoT Edge.

الخطوات التالية

في هذا البرنامج التعليمي، أنشأت وظيفة بسيطة محددة لـ C# user باستخدام CodeBehind، نشرت عملك على Azure، ونشر الوظيفة على Azure أو جهاز IoT Edge.

لمعرفة المزيد حول الطرق المختلفة لاستخدام وظائف C# المعرفة من قبل المستخدم لوظائف Stream Analytics، تابع هذه المقالة: