مشاركة عبر


البرنامج التعليمي: كتابة دالة معرفة من قبل المستخدم في C# لوظيفة 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 # باستخدام CodeBehind.
  • اختبر وظيفتك في Stream Analytics محليا.
  • انشر وظيفتك على Azure.

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

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

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

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

إنشاء مشروع Stream Analytics في Visual Studio

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

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

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

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

    إنشاء مشروع Azure Stream Analytics Edge في Visual Studio

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

  1. افتح Visual Studio وانتقل إلى مستكشف الحلول.

  2. انقر نقرا مزدوجا فوق ملف تكوين المهمة ، JobConfig.json.

  3. قم بتوسيع قسم تكوين التعليمات البرمجيةUser-Defined ، واملأ التكوين بالقيم المقترحة التالية:

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

اكتب C # UDF باستخدام CodeBehind

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

  1. في مستكشف الحلول، قم بتوسيع Script.asql للعثور على ملف CodeBack Script.asaql.cs .

  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.json، وحدد إضافة إدخال محلي.

    إضافة إدخال محلي إلى وظيفة Stream Analytics في Visual Studio

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

    تكوين الإدخال المحلي لوظيفة Stream Analytics في Visual Studio

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

    تشغيل مهمة Azure Stream Analytics محليا باستخدام Visual Studio

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

    عرض نتائج مهمة Azure Stream Analytics المحلية باستخدام Visual Studio

تصحيح أخطاء UDF

يمكنك تصحيح أخطاء C # UDF محليا بنفس الطريقة التي تقوم بها بتصحيح أخطاء التعليمات البرمجية C # القياسية.

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

    إضافة نقاط توقف إلى الدالة المعرفة من قبل المستخدم في Stream Analytics في Visual Studio

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

    عرض نتائج تصحيح أخطاء الدالة المعرفة من قبل المستخدم في Stream Analytics

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

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

إرسال مهمة Stream Analytics Edge إلى Azure من Visual Studio

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

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

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

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

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