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

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

تدعم هذه المقالة إنشاء كلا النوعين من دالات C# المدمجة:

نموذج التنفيذ الوصف
قيد التنفيذ تعمل تعليمة دالتك البرمجية في نفس العملية مثل عملية مضيف الدالات. يدعم كلا من .NET Core 3.1 و .NET 6.0. لمعرفة المزيد، راجع تطوير دالات مكتبة الفئة C# باستخدام وظائف Azure.
عملية معزولة تعمل تعليمة دالتك البرمجية في عملية عامل .NET منفصلة. يدعم كل من .NET 5.0 و .NET 6.0. لمعرفة المزيد، راجع تطوير وظائف عملية معزولة في C#‎.

يُنشئ هذا المقال دالة يتم تشغيلها عبرHTTP وتعمل على .NET 6.0. هناك أيضاً إصدار يستند إلى واجهة سطر الأوامر من هذه المقالة.

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

كوِّن بيئتك

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

تحتاج أيضًا إلى حساب Azure مع اشتراك مفعل. ⁧⁩قم بإنشاء حساب مجانًا⁧⁩.

⁧⁩⁧⁩إنشاء مشروعك المحلي

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

  1. اختر رمز Azure الموجود في شريط النشاط، ثم في منطقة Azure: Functions، حدد رمز إنشاء مشروع جديد... .

    Choose Create a new project

  2. اختر موقع دليل لمساحة عمل مشروعك واختر ⁧⁩تحديد⁧⁩.

    ملاحظة

    صُممت هذه الخطوات لتُستكمل خارج مساحة العمل. في هذه الحالة، لا تقم بتحديد مجلد مشروع جزء من مساحة عمل.

  3. قدّم المعلومات التالية عند المطالبات:

    المطالبة التحديد
    حدد اللغة الخاصة بمشروع الدالة. اختر C#‎.
    حدد وقت تشغيل .NET اختر .NET 6.
    تحديد قالب للدالة الأولى لمشروعك اختر HTTP trigger.
    منح الدالة اسماً اكتب ⁧HttpExample⁩.
    وفر مساحة للاسم اكتب ⁧My.Functions⁩.
    مستوى التخويل اختر Anonymous بحيث يتمكن أي شخص من استدعاء نقطة النهاية للدالة. للتعرف على مستويات التخويل، راجع مفاتيح التخويل.
    تحديد طريقة فتح مشروعك اختر Add to workspace.

    ملاحظة

    إذا لم تجد .NET 6 كخيار لوقت التشغيل، فتحقق من التالي:

    • تأكد من تثبيت NET. 6.0 SDK.
    • اضغط على F1 واكتب Preferences: Open user settings، ثم ابحث عن Azure Functions: Project Runtime وقم بتغيير الإصدار الافتراضي لوقت التشغيل إلى ~4.
  4. باستخدام هذه المعلومات، ينشئ Visual Studio Code مشروع دالات Azure مع مشغل .HTTP يمكن عرض ملفات المشروع المحلي في المستكشف. لمعرفة المزيد حول الملفات المُنشأة راجع ملفات المشروع المُنشأة.

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

تعليمة Visual Studio برمجية مع ⁧⁩Azure Functions Core tools⁧⁩ للسماح لك بتشغيل هذا المشروع في حاسوب التنمية المحلية الخاص بك قبل أن تقوم بالنشر إلى Azure.

  1. لاستدعاء دالتك، اضغط ⁧⁩F5⁧⁩ لبدء مشروع تطبيق الدالة. يُعرض الإخراج من الأدوات الأساسية في لوحة Terminal. يبدأ تطبيقك في لوحة ⁧⁩Terminal⁧⁩. يمكنك مشاهدة نقطة نهاية URL للوظيفة التي تم تشغيلها بواسطة HTTP وتعمل محليًا.

    Local function VS Code output

    إذا واجهتك مشكلة في تشغيل ويندوز، فتأكد من أن المحطة الطرفية الافتراضية للتعليمة البرمجية Visual Studio لم يتم ضبطها على ⁧⁩WSL Bash⁧⁩.

  2. مع تشغيل Core Tools، انتقل إلى ⁧⁩ Azure: منطقة ⁧⁩الدوال. تحت ⁧⁩الدوال⁧⁩، قم بتوسيع مشروع ⁧⁩الدوال⁧⁩⁧>⁩⁧⁩المحلية⁧⁩. انقر بزر الماوس الأيمن فوق (Windows) أو اضغط على ⁦⁧⁩⁩Ctrl -⁦⁧⁩⁩ (في macOS) على الدالة HttpExample واختر ⁩⁩تنفيذ الدالة الآن..⁦.⁦⁩.

    Execute function now from Visual Studio Code

  3. في Enter request body اضغط على Enter لإرسال رسالة الطلب هذه إلى وظيفتك.

  4. عندما يتم تنفيذ الدالة محليًا وإرجاع استجابة، يظهر إشعار في Visual Studio Code. يتم عرض معلومات حول تنفيذ الدالة في اللوحة ⁩الطرفية⁧⁩.

  5. اضغط ⁧⁩«Ctrl + C»⁧⁩ لإيقاف «Core Tools»، وفصل مصحح الأخطاء.

بعد التحقق من أن الدالة تعمل بشكل صحيح على الحاسوب المحلي، حان الوقت لاستخدام Visual Studio Code لنشر المشروع مباشرة على Azure.

تسجيل الدخول إلى Azure

قبل أن تتمكن من نشر التطبيق، ينبغي تسجيل الدخول إلى Azure.

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

    Sign in to Azure within VS Code

    إذا قمت بتسجيل الدخول بالفعل، فانتقل إلى القسم التالي.

  2. عندما يطلب منك في المتصفح، اختر حساب Azure الخاص بك، ثم سجل الدخول باستخدام بيانات اعتماد حساب Azure.

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

نشر المشروع على برنامج Azure

في هذا القسم، يمكنك إنشاء تطبيق الدالة والموارد ذات الصلة في اشتراك Azure الخاص بك، ونشر الرمز الخاص بك.

هام

النشر إلى تطبيق دالة موجود يحل محل محتوى هذا التطبيق في Azure.

  1. اختر أيقونة Azure في شريط النشاط، ثم في منطقة ⁧⁩Azure: الدوال⁧⁩ اختر زر...⁧⁩نشر على تطبيق الدالة⁧

    Publish your project to Azure

  2. قدّم المعلومات التالية عند المطالبات:

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

    • ⁩حدد خيار اشتراك⁧⁩: اختر الاشتراك الذي تود استخدامه. لن ترى هذا في حالة امتلاكك اشتراك واحد فقط.

    • ⁩اختر تطبيق الدالة في Azure⁧⁩: اختر⁧- Create new Function App⁩. (تجنب اختيار ⁧Advanced⁩ الخيار الذي لا يشمله هذا المقال.)

    • ⁩اكتب اسمًا فريدًا عالميًا لتطبيق الدالة:⁧⁩اكتب اسمًا صحيحًا في مسار URL. يتم التحقق من صحة الاسم الذي تكتبه للتأكد من أنه مميز في تطبيق Azure Functions.

    • ⁩حدد موقعًا للموارد الجديدة:⁧ ⁩للحصول على أفضل أداء، اختر ⁧⁩منطقة⁧⁩ قريبة منك.

    يعرض الملحق حالة الموارد الفردية أثناء إنشائها في Azure في مساحة الإخطار.

    Notification of Azure resource creation

  3. عند الانتهاء، يتم إنشاء موارد Azure التالية في اشتراكك، باستخدام أسماء تستند إلى اسم تطبيق الدالة الخاص بك:

    • مجموعة موارد، وهي حاوية منطقية للموارد ذات الصلة.
    • حساب قياسي في Azure Storage: الذي يحتفظ بالحالة والمعلومات الأخرى بشأن مشروعك.
    • خطة استهلاك، التي تحدد المضيف الأساسي لتطبيق الوظائف بلا خادم.
    • تطبيق الدالة، الذي يوفر البيئة لتنفيذ رمز الدالة. يوفر لك تطبيق الوظيفة تجميع الوظائف كوحدة منطقية لتيسير إدارة الموارد ونشرها ومشاركتها داخل خطة المضيف ذاتها.
    • مثيل Application Insights المتصل بتطبيق الدالة، الذي يتتبع استخدام الدالة لديك بلا خادم.

    يُعرض إشعار بعد إنشاء تطبيق الدوال الخاص بك وتطبيق حزمة التوزيع.

    تلميح

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

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

    Create complete notification

تشغيل الوظيفة في Azure

  1. مرة أخرى في Azure: دالات المنطقة في الشريط الجانبي، وتوسيع الاشتراك الخاص بك، تطبيق دالتك الجديدة، ودالات. انقر بزر الماوس الأيمن فوق (Windows) أو اضغط على ⁦⁧⁩⁩Ctrl -⁦⁧⁩⁩ (في macOS) على الدالة HttpExample واختر ⁩⁩تنفيذ الدالة الآن..⁦.⁦⁩.

    Execute function now in Azure from Visual Studio Code

  2. في إدخال نص الطلب، ترى قيمة نص رسالة الطلب { "name": "Azure" }. اضغط على "Enter" لإرسال رسالة الطلب إلى الدالة الخاصة بك.

  3. عند تنفيذ الدالة في منصة خدمة Azure وإرجاع استجابة، يتم إرسال إشعار في كود Visual Studio.

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

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

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

  1. في فيجوال ستوديو كود، اضغط F1 لفتح لوحة الأوامر. في لوحة الأوامر، قم بالبحث والتحديدAzure Functions: Open in portal.

  2. اختر تطبيق الوظائف، واضغط على زر Enter. تفتح صفحة تطبيق الوظائف في مدخل Azure.

  3. في علامة التبويب "Overview" ، حدد الرابط المسمى بجوار مجموعة الموارد.

    Select the resource group to delete from the function app page.

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

  5. حدد "Delete resource group" ، واتبع الإرشادات.

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

لمعرفة المزيد حول تكاليف الدوال، يُرجى الاطلاع على ⁧⁩تقدير تكاليف خطة الاستهلاك⁧⁩.

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

لقد استخدمت Visual Studio Codeلإنشاء تطبيق دوال باستخدام دالة بسيطة تعمل بواسطة مشغل "HTTP". في المقالة التالية، يمكنك توسيع هذه الدالة عن طريق الاتصال إما بـ Azure Cosmos DB أو Azure Queue Storage. لمعرفة المزيد حول الاتصال بخدمات Azure الأخرى، راجع إضافة روابط إلى دالة قائمة في Azure Functions.