مشاركة عبر


البدء السريع: إنشاء أول وظيفة C# في Azure باستخدام Visual Studio

تتيح لك Azure Functions استخدام Visual Studio لإنشاء مشاريع وظائف C# محلية ثم نشر هذا المشروع بسهولة للتشغيل في بيئة بلا خادم قابلة للتطوير في Azure. إذا كنت تفضل تطوير تطبيقات C# محلياً باستخدام Visual Studio Code، يجب عليك بدلاً من ذلك مراعاة الإصدار المستند إلى Visual Studio Code من هذه المقالة.

بشكل افتراضي، توضح لك هذه المقالة كيفية إنشاء وظائف C# التي تعمل على .NET 8 في عملية عامل معزولة. يتم دعم تطبيقات الوظائف التي تعمل في عملية عامل معزولة على جميع إصدارات .NET التي تدعمها الوظائف. لمزيد من المعلومات، راجع الإصدارات المدعومة.

في هذه المقالة، ستتعرف على كيفية:

  • استخدام Visual Studio لإنشاء مشروع مكتبة فئات C#‎.
  • إنشاء وظيفة تستجيب لطلبات HTTP.
  • شغل التعليمات البرمجية محليًا للتحقق من سلوك الوظيفة.
  • نشر مشروع التعليمات البرمجية إلى وظائف Azure.

يتطلب إكمال هذا التشغيل السريع تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

يوضح لك هذا الفيديو كيفية إنشاء دالة C# في Azure.

يتم أيضا وصف الخطوات الواردة في الفيديو في الأقسام التالية.

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

إنشاء مشروع تطبيق دالة

ينشئ قالب مشروع Azure Functions في Visual Studio مشروع مكتبة فئة C# الذي يمكنك نشره في تطبيق دالة ما «function app» في Azure. يمكنك استخدام أحد تطبيقات الدالة لتجميع الدوال في وحدة منطقية لتيسير إدارة الموارد ونشرها وتحجيمها ومشاركتها.

  1. من قائمة Visual Studio، حدد ملف>جديد>مشروع.

  2. في إنشاء مشروع جديد، أدخل الدالات في مربع البحث، واختر قالب دالات Azure، ثم حدد التالي.

  3. في تكوين مشروعك الجديد، أدخل اسم مشروع لمشروعك، ثم حدد التالي. يجب أن يكون اسم تطبيق الدالة صالحًا لمساحة الاسم في C#، لذا لا تستخدم تسطيرات سفلية أو واصلات أو أي أحرف أخرى غير أبجدية رقمية.

  4. بالنسبة لإعدادات المعلومات الإضافية المتبقية،

    الإعداد قيمة ‏‏الوصف
    عامل الوظائف .NET 8.0 معزول (دعم طويل الأجل) تعمل وظائفك على .NET 8 في عملية عامل معزولة.
    دالة مشغل HTTP تنشئ هذه القيمة دالة مشغلة بواسطة طلب HTTP.
    استخدام Azurite لحساب تخزين وقت التشغيل (AzureWebJobsStorage) تمكين يُخصص حساب تخزين أو يُنشأ عند نشر المشروع على Azure لأن تطبيق الدالة في Azure يشترط توفره. مشغل HTTP لا يستخدم سلسلة اتصال حساب Azure Storage، بينما يلزم جميع أنواع المشغلات الأخرى سلسلة اتصال صالحة لحساب Azure Storage. عند تحديد هذا الخيار، يتم استخدام محاكي Azurite.
    مستوى التخويل مجهول يمكن تشغيل الدالة المنشأة بواسطة أي عميل بدون توفير مفتاح. وإعداد التخويل هذا يسهّل من اختبار الدالة الجديدة. لمزيد من المعلومات، راجع مستوى التخويل.

    لقطة شاشة لإعدادات مشروع Azure Functions.

    تأكد من تعيين مستوى التخويل إلى مجهول. إذا اخترت المستوى الافتراضي للدالة، فسيطلب منك تقديم مفتاح الدالة في طلبات الوصول إلى نقطة نهاية الدالة في Azure.

  5. حدد Create لإنشاء مشروع الدالة ودالة مشغل HTTP.

ينشئ Visual Studio مشروعًا وفئة تحتوي على رمز متداول لنوع دالة مشغل HTTP. يرسل رمز المتداول استجابة HTTP يتضمن قيمة من نص الطلب أو سلسلة الاستعلام. HttpTrigger تحدد السمة أن الدالة يتم تشغيلها بواسطة طلب HTTP.

إعادة تسمية الدالة

Functionسمة الأسلوب بتعيين اسم الدالة التي يتم إنشاؤها بشكل افتراضي ك Function1. نظرًا لأن الأداة لا تسمح لك بتجاوز اسم الدالة الافتراضية عند إنشاء المشروع الخاص بك، خذ دقيقة لإنشاء اسم أفضل لفئة الدالة، الملف، وبيانات التعريف.

  1. في مستكشف الملفات، انقر بزر الماوس الأيمن فوق ملف Function1.cs وأعد تسميته إلى HttpExample.cs.

  2. في التعليمات البرمجية، أعد تسمية فئة Function1 إلى HttpExample.

  3. في الأسلوب المسمى Run، أعد تسمية سمة Function الأسلوب إلى HttpExample.

يجب أن يبدو تعريف الدالة الآن مثل التعليمة البرمجية التالية:

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
    _logger. LogInformation("C# HTTP trigger function processed a request.");
    return new OkObjectResult("Hello, functions");
}

والآن بعد أن قمت بإعادة تسمية الدالة، يمكنك اختبارها على الكمبيوتر المحلي.

تشغيل الدالة محليًا

Visual Studio يتكامل مع Azure Functions Core Tools بحيث يمكنك اختبار الوظائف محليًا باستخدام وقت تشغيل Azure Functions الكاملة.

  1. لتشغيل الدالة، اضغط على F5 في Visual Studio. قد تحتاج إلى تمكين استثناء جدار حماية حيث يتسنى للأدوات معالجة طلبات HTTP. لا تُفرض مستويات التخويل مطلقًا عند تشغيل دالة محليًا.

  2. يُرجى نسخ عنوان URL الخاص بدالتك من إخراج وقت التشغيل في Azure Functions.

    وقت التشغيل المحلي في Azure

  3. الصق عنوان URL لطلب HTTP في شريط عناوين المستعرض وقم بتشغيل الطلب. تعرض الصورة التالية الاستجابة في المتصفح لطلب GET المحلي الذي أرجعته الدالة:

    استجابة دالة المضيف المحلي في المتصفح

  4. لإيقاف تصحيح الأخطاء، اضغط على Shift+F5 في Visual Studio.

بعد التحقق من عمل الدالة بشكل صحيح على جهاز الحاسوب المحلي، حان الوقت لنشر المشروع على Azure.

كيفية نشر المشروع إلى Azure

يمكن لـ Visual Studio نشر مشروعك المحلي إلى Azure. قبل أن تتمكن من نشر مشروعك، يجب أن يكون لديك تطبيق دالة في اشتراكك على Azure. إذا لم يكن لديك بالفعل تطبيق وظائف في Azure، يمكن أن يساعدك Visual Studio في إنشاء تطبيق قبل نشر مشروعك. في هذه المقالة، يمكنك إنشاء تطبيق وظائف يعمل على Linux في خطة استهلاك Flex، وهي الخطة الموصى بها للوظائف بلا خادم المستندة إلى الحدث والآمنة.

  1. في مستكشف الحلول، انقر بزر الماوس الأيمن فوق المشروع ثم حدد نشر.

  2. في صفحة نشر ، قم بإجراء التحديدات التالية:

    • في الهدف، حدد Azure، ثم حدد التالي.
    • في هدف معين، حدد Azure Function App، ثم حدد التالي.
    • في Functions instance، حدد Create new.

    لقطة شاشة لصفحة النشر. في قسم مثيل الوظائف، تكون مجموعة الموارد مرئية، ويتم تمييز إنشاء جديد.

  3. إنشاء مثيل جديد باستخدام القيم المحددة في الجدول التالي:

    الإعداد قيمة ‏‏الوصف
    الاسم اسم فريد عالميا يجب أن يحدد الاسم تطبيق الوظائف الجديد بشكل فريد. اقبل الاسم المقترح أو أدخل اسما جديدا. الأحرف التالية صالحة: a-z، 0-9و.-
    اسم الاشتراك اسم اشتراكك يتم إنشاء تطبيق الوظائف في اشتراك Azure. اقبل الاشتراك الافتراضي أو حدد اشتراكا مختلفا من القائمة.
    مجموعة الموارد اسم مجموعة الموارد يتم إنشاء تطبيق الوظائف في مجموعة موارد. حدد جديد لإنشاء مجموعة موارد جديدة. يمكنك أيضا تحديد مجموعة موارد موجودة من القائمة.
    نوع الخطة استهلاك فليكس عند نشر مشروعك إلى تطبيق وظائف يعمل في خطة استهلاك Flex، قد تدفع فقط مقابل تنفيذ تطبيق الوظائف. يمكن أن تتحمل خطط الاستضافة الأخرى تكاليف أعلى.
    مهم:
    عند إنشاء خطة Flex Consumption، يجب عليك أولا تحديد خطة خدمة التطبيق ثم إعادة تحديد Flex Consumption لمسح مشكلة في مربع الحوار.
    نظام التشغيل Linux تتطلب خطة Flex Consumption حاليا Linux.
    الموقع موقع خدمة التطبيق حدد موقعا في منطقة Azure تدعمه خطة الاستهلاك المرن. عند تحديد منطقة غير مدعومة، يكون الزر Create باللون الرمادي.
    حجم ذاكرة المثيل 2048 حجم ذاكرة مثيلات الجهاز الظاهري التي يعمل فيها التطبيق فريد من نوعه لخطة الاستهلاك المرن.
    تخزين Azure حساب تخزين للأغراض العامة يتطلب وقت تشغيل الوظائف حساب تخزين. حدد جديد لتكوين حساب تخزين للأغراض العامة. يمكنك أيضا استخدام حساب موجود يفي بمتطلبات حساب التخزين.
    رؤى التطبيق مثيل Application Insights يجب تشغيل تكامل Application Insights لتطبيق الوظائف الخاص بك. حدد جديد لإنشاء مثيل جديد، إما في مساحة عمل جديدة أو في مساحة عمل Log Analytics موجودة. يمكنك أيضا استخدام مثيل موجود.

    لقطة شاشة لتطبيق الوظائف إنشاء مربع حوار جديد. يتم ملء حقول الاسم والاشتراك ومجموعة الموارد والخطة والإعدادات الأخرى.

  4. حدد إنشاء لإنشاء تطبيق وظائف وموارده ذات الصلة في Azure. تظهر حالة إنشاء المورد في الزاوية السفلية اليمنى من النافذة.

  5. حدد إنهاء. تظهر نافذة نشر تقدم إنشاء ملف التعريف . عند إنشاء ملف التعريف، حدد إغلاق.

  6. في صفحة ملف تعريف النشر، حدد نشر لنشر الحزمة التي تحتوي على ملفات المشروع إلى تطبيق الوظائف الجديد في Azure.

    عند اكتمال التوزيع، يظهر عنوان URL الجذر لتطبيق الوظائف في Azure في صفحة ملف تعريف النشر.

  7. في صفحة الملف الشخصي للنشر، انتقل إلى قسم الاستضافة . حدد علامة الحذف (...)، ثم حدد فتح في مدخل Microsoft Azure. يفتح مورد Azure لتطبيق الوظائف الجديد في مدخل Microsoft Azure.

    لقطة شاشة لصفحة الملف الشخصي للنشر. في قسم الاستضافة، تكون القائمة المختصرة لعلامة الحذف مفتوحة، ويتم تمييز فتح في مدخل Microsoft Azure.

تحقق من الدالة في Azure

  1. في مدخل Microsoft Azure، يجب أن تكون في صفحة نظرة عامة لتطبيق الوظائف الجديد.

  2. ضمن Functions، حدد دالتك الجديدة المسماة HttpExample، ثم في صفحة الدالة حدد Get function URL ثم أيقونة Copy to clipboard.

  3. في شريط العناوين في المستعرض، الصق عنوان URL الذي نسخته وقم بتشغيل الطلب.

    عنوان URL الذي يستدعي دالة مشغل HTTP الخاص بك يكون بالتنسيق التالي:

    https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. انتقل إلى عنوان URL هذا، ثم سترى استجابة في المستعرض لطلب GET البعيد الذي تم إرجاعه بواسطة الدالة، والذي يبدو مثل المثال التالي:

    استجابة الدالة في المتصفح

تنظيف الموارد

تشير الموارد في Azure إلى تطبيقات الوظيفة والوظائف وحسابات التخزين وما إلى ذلك. يتم تجميعها في مجموعات الموارد،ويمكنك حذف كل شيء في مجموعة بحذف المجموعة.

لقد قمت بإنشاء موارد Azure لإكمال هذا التشغيل السريع. يمكن أن تتم محاسبتك على هذه الموارد، اعتمادا على حالة حسابك وأسعار الخدمة. تعتمد قوالب التشغيل السريع الأخرى في هذه المجموعة على هذا التشغيل السريع. إذا كنت تخطط للعمل مع الخطوات السريعة اللاحقة أو البرامج التعليمية أو مع أي من الخدمات التي قمت بإنشائها في هذا البداية السريعة، فلا تقم بتنظيف الموارد.

استخدم الخطوات التالية لحذف تطبيق الوظائف والموارد المرتبطة به لتجنب تكبد أي تكاليف إضافية.

  1. في حوار Visual Studio Publish، في القسم Hosting، حدد Open in Azure portal.

  2. حدد، في صفحة تطبيق الدالة، علامة التبويب "Overview" ثم حدد الارتباط ضمن Resource group.

    حدد مجموعة الموارد التي تريد حذفها من صفحة تطبيق الوظائف

  3. في صفحة مجموعة الموارد، راجع قائمة الموارد المدرجة وتحقق من أنها هي التي تريد حذفها.

  4. حدد حذف مجموعة الموارد، واتبع الإرشادات.

    قد يستغرق الحذف دقيقتين. عند الانتهاء من ذلك، يظهر تنبيه لبضع ثوان. يمكنك أيضا تحديد رمز الجرس في أعلى الصفحة لعرض التنبيه.

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

في هذه البداية السريعة، استخدمت Visual Studio لإنشاء ونشر تطبيق وظيفة C# في Azure باستخدام وظيفة تشغيل HTTP بسيطة.

لمعرفة المزيد حول العمل مع وظائف C# التي تعمل في عملية عامل معزولة، راجع دليل تشغيل وظائف C# Azure في عملية عامل معزولة. تحقق من الإصدارات المعتمدة من .NET للاطلاع على إصدارات أخرى من إصدارات .NET المدعومة في عملية عامل معزولة.

أحرز تقدمًا في المقالة التالية لمعرفة كيفية إضافة ارتباط قائمة انتظار Azure Storage إلى الدالة: