التشغيل السريع: إنشاء دالة Go أو Rust في أزور Azure باستخدام Visual Studio Code
في هذه المقالة، يمكنك استخدام Visual Studio Code لإنشاء دالة معالج مخصصة تستجيب لطلبات HTTP. بعد اختبار التعليمة البرمجية محليًا، يمكنك توزيعها إلى بيئة بلا خادم من دالات Azure.
يمكن استخدام معالجات مخصصة لإنشاء دالات بأي لغة أو وقت تشغيل عن طريق تشغيل عملية خادم HTTP. تدعم هذه المقالة كلا من Go و Rust.
يتطلب إكمال هذا التشغيل السريع تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.
تكوين بيئتك
قبل البدء، تأكد من توفر المتطلبات التالية:
حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.
Visual Studio Code في واحدة من النظم الأساسية المدعومة.
ملحق Azure Functions للمحرر Visual Studio Code.
Go، يوصى باستخدام أحدث إصدار. يمكنك استخدام أمر
go version
للتحقق من الإصدار الخاص بك.
تثبيت الأدوات الأساسية أو تحديثها
يتكامل ملحق Azure Functions ل Visual Studio Code مع Azure Functions Core Tools بحيث يمكنك تشغيل وتصحيح وظائفك محليا في Visual Studio Code باستخدام وقت تشغيل Azure Functions. قبل البدء، من الجيد تثبيت Core Tools محليا أو تحديث تثبيت موجود لاستخدام أحدث إصدار.
في Visual Studio Code، حدد F1 لفتح لوحة الأوامر، ثم ابحث عن الأمر Azure Functions وتشغيله: تثبيت أو تحديث Core Tools.
يحاول هذا الأمر إما بدء تثبيت مستند إلى حزمة من أحدث إصدار من Core Tools أو تحديث تثبيت موجود يستند إلى الحزمة. إذا لم يكن لديك npm أو Homebrew مثبتا على الكمبيوتر المحلي، فيجب عليك بدلا من ذلك تثبيت Core Tools أو تحديثها يدويا.
إنشاء مشروعك المحلي
في هذا القسم، يمكن استخدام Visual Studio Code لإنشاء مشروع محلي لمعالجات مخصصة في Azure Functions. لاحقًا في هذه المقالة، ستنشر رمز دالتك على Azure.
في Visual Studio Code، اضغط على F1 لفتح لوحة الأوامر والبحث عن الأمر
Azure Functions: Create New Project...
وتشغيله.اختر موقع الدليل الخاص لمساحة عمل المشروع لديك واختر "تحديد". يجب عليك إما إنشاء مجلد جديد أو اختيار مجلد فارغ لمساحة عمل المشروع. لا تختر مجلد مشروع يشكل بالفعل جزءًا من مساحة عمل.
قدِّم المعلومات التالية في المطالبات:
المطالبة التحديد حدد اللغة الخاصة بمشروع الدالة اختر Custom Handler
.تحديد قالب للدالة الأولى لمشروعك اختر HTTP trigger
.توفير اسم دالة اكتب HttpExample
.مستوى التخويل اختر Anonymous
بحيث يتمكن أي شخص من استدعاء نقطة النهاية للدالة. لمزيد من المعلومات، راجع مستوى التخويل.تحديد الطريقة التي تريد فتح مشروعك بها اختر Open in current window
.باستخدام هذه المعلومات، ينشئ Visual Studio Code مشروع دالات Azure مع مشغل HTTP. يمكنك عرض ملفات المشروع المحلي في المستكشف.
إنشاء وبناء دالتك
يعلن ملف function.json في مجلد HttpExample عن دالة مشغل HTTP. يمكنك إكمال الدالة عن طريق إضافة معالج وتحويله برمجيًا إلى قابل للتنفيذ.
اضغط على Ctrl + N (Cmd + N على macOS) لإنشاء ملف جديد. احفظه كمعالج.go في جذر تطبيق الدالة (في نفس المجلد مثل host.json).
في handler.go، أضف التعليمات البرمجية التالية واحفظ الملف. هذا هو معالج Go المخصص الخاص بك.
package main import ( "fmt" "log" "net/http" "os" ) func helloHandler(w http.ResponseWriter, r *http.Request) { message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n" name := r.URL.Query().Get("name") if name != "" { message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name) } fmt.Fprint(w, message) } func main() { listenAddr := ":8080" if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok { listenAddr = ":" + val } http.HandleFunc("/api/HttpExample", helloHandler) log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr) log.Fatal(http.ListenAndServe(listenAddr, nil)) }
اضغط على Ctrl + Shift + ' أو حدد New Terminal من قائمة Terminal لفتح محطة طرفية متكاملة جديدة في VS Code.
قم بالتحويل البرمجي للمعالج المخصص لديك باستخدام الأمر التالي. ملف قابل للتنفيذ يسمى
handler
(handler.exe
على Windows) هو الإخراج في المجلد الجذر لتطبيق الوظائف.go build handler.go
تكوين تطبيق وظيفتك
يجب تكوين مضيف الدالة لتشغيل ثنائي المعالج المخصص لديك عند بدء تشغيله.
افتح host.json.
في
customHandler.description
القسم ، قم بتعيين قيمةdefaultExecutablePath
إلىhandler
(في Windows، قم بتعيينها إلىhandler.exe
).في
customHandler
القسم ، أضف خاصية باسمenableForwardingHttpRequest
واضبط قيمتها علىtrue
. بالنسبة للوظائف التي تتكون من مشغل HTTP فقط، يبسط هذا الإعداد البرمجة من خلال السماح لك بالعمل مع طلب HTTP نموذجي بدلا من حمولة طلب المعالج المخصص.تأكد من أن
customHandler
المقطع يبدو مثل هذا المثال. حفظ الملف."customHandler": { "description": { "defaultExecutablePath": "handler", "workingDirectory": "", "arguments": [] }, "enableForwardingHttpRequest": true }
تم تكوين تطبيق الدالة لبدء المعالج المخصص القابل للتنفيذ.
تشغيل الدالة محليًا
يمكنك تشغيل هذا المشروع على كمبيوتر التطوير المحلي قبل النشر إلى Azure.
في الوحدة الطرفية المتكاملة، ابدأ تطبيق الدالة باستخدام Azure Functions Core Tools.
func start
مع تشغيل Core Tools، انتقل إلى عنوان URL التالي لتنفيذ طلب GET، والذي يتضمن
?name=Functions
سلسلة الاستعلام.http://localhost:7071/api/HttpExample?name=Functions
يتم إرجاع استجابة، والتي تبدو كما يلي في مستعرض:
يتم عرض معلومات حول الطلب في لوحة Terminal .
اضغط على Ctrl + C لإيقاف Core Tools.
بعد التحقق من عمل الوظيفة بشكل صحيح على الحاسوب المحلي، حان الوقت لاستخدام تعليمة Visual Studio البرمجية لنشر المشروع مباشرة على Azure.
تسجيل الدخول إلى Azure
قبل أن تتمكن من إنشاء موارد Azure أو نشر تطبيقك، يجب عليك تسجيل الدخول إلى Azure.
إذا لم تكن قد سجلت الدخول بالفعل، في شريط النشاط، فحدد أيقونة Azure. ثم ضمن الموارد، حدد تسجيل الدخول إلى Azure.
إذا سجلت الدخول بالفعل وشاهدت اشتراكاتك الحالية، فانتقل إلى القسم التالي. إذا لم يكن لديك حساب Azure بعد، فحدد إنشاء حساب Azure. يمكن للطلاب تحديد إنشاء حساب Azure للطلاب.
عند مطالبتك في المستعرض، حدد حساب Azure الخاص بك وسجل الدخول باستخدام بيانات اعتماد حساب Azure. في حال إنشاء حساب جديد، يمكنك تسجيل الدخول بعد إنشاء حسابك.
بعد تسجيل الدخول بنجاح، يمكنك إغلاق نافذة المستعرض الجديدة. يتم عرض الاشتراكات التي تنتمي إلى حساب Azure الخاص بك في الشريط الجانبي.
التحويل البرمجي للمعالج المخصص لـ Azure
في هذا القسم، يمكنك نشر المشروع الخاص بك إلى Azure في تطبيق دالة تعمل بنظام Linux. في معظم الحالات، عليك إعادة التحويل البرمجي للملف الثنائي الخاص بك وضبط التكوين لمطابقة النظام الأساسي الهدف قبل نشره إلى Azure.
في الوحدة الطرفية المتكاملة، قم بالتحويل البرمجي للمعالج إلى Linux/x64. يتم إنشاء ثنائي باسم
handler
في جذر تطبيق الوظائف.
إنشاء تطبيق الوظائف في Azure
يمكنك، في هذا القسم، إنشاء تطبيق وظائف وموارد ذات الصلة في اشتراك Azure.
حدد رمز Azure في شريط "النشاط". ثم في منطقة "الموارد"، حدد الرمز + وحدد الخيار "إنشاء تطبيق الوظائف في Azure".
قدِّم المعلومات التالية في المطالبات:
المطالبة التحديد تحديد الاشتراك حدد الاشتراك المطلوب استخدامه. لن ترى هذه عندما يكون لديك اشتراك واحد فقط مرئي ضمن الموارد. أدخل اسماً فريداً عالمياً لتطبيق الوظائف اكتب اسماً صالحاً في مسار URL. يتم التحقق من صحة الاسم الذي تكتبه للتأكد من أنه فريد في دالات Azure. تحديد مكدس ذاكرة مؤقتة لوقت التشغيل اخترCustom Handler. حدد موقعاً للموارد الجديدة للحصول على أداء أفضل، اختر منطقة قريبة منك. يعرض الملحق حالة الموارد الفردية أثناء إنشائها في Azure في لوحة سجل نشاط Azure.
يتم، عند الانتهاء من الإنشاء، إنشاء موارد Azure التالية في الاشتراك. تسمى الموارد استنادًا إلى اسم تطبيق الوظائف الخاص بك:
- مجموعة الموارد، وهي حاوية منطقية للموارد ذات الصلة.
- حساب التخزين بخدمة Azure: هو مورد تخزين يحتفظ بالحالة ومعلومات أخرى حول المشروع.
- تطبيق الوظيفة، الذي يوفر البيئة لتنفيذ التعليمة البرمجية للوظيفة. يتيح لك تطبيق الوظيفة تجميع الوظائف كوحدة منطقية لإدارة الموارد وتوزيعها ومشاركتها بشكل أسهل مع نفس خطة المضيف.
- خطة Azure App Service، والتي تحدد المضيف الأساسي لتطبيق الوظائف الخاص بك.
- مثيل Application Insights المتصل بتطبيق الوظائف، والذي يتتبع استخدام وظائفك في التطبيق.
يعرض تنبيه بعد إنشاء تطبيق الوظيفة وتطبيق حزمة التوزيع.
تلميح
بشكل افتراضي، يتم إنشاء موارد Azure المطلوبة من قبل تطبيق الوظائف استنادا إلى الاسم الذي تدخله لتطبيق الوظائف. بشكل افتراضي، يتم إنشاء الموارد باستخدام تطبيق الوظائف في نفس مجموعة الموارد الجديدة. إذا كنت تريد تخصيص أسماء الموارد المقترنة أو إعادة استخدام الموارد الموجودة، فنشر المشروع باستخدام خيارات إنشاء متقدمة.
نشر المشروع في Azure
هام
يستبدل التوزيع إلى تطبيق وظائف موجود دائمًا محتويات هذا التطبيق في Azure.
في لوحة الأوامر، أدخل ثم حدد Azure Functions: Deploy to Function App.
حدد تطبيق الوظائف الذي أنشأته للتو. عند مطالبتك بالكتابة فوق عمليات التوزيع السابقة، حدد Deploy لنشر التعليمات البرمجية للدالة إلى مورد تطبيق الوظائف الجديد.
عند اكتمال النشر، حدد عرض الإخراج لعرض نتائج الإنشاء والتوزيع، بما في ذلك موارد Azure التي قمت بإنشائها. إذا فاتك الإعلام، فحدد أيقونة الجرس في الزاوية السفلية اليسرى لرؤيتها مرة أخرى.
تشغيل الوظيفة في Azure
اضغط على F1 لعرض لوحة الأوامر، ثم ابحث عن الأمر
Azure Functions:Execute Function Now...
وقم بتشغيله . إذا طلب منك ذلك، فحدد اشتراكك.حدد مورد تطبيق الوظائف الجديد ودالتك
HttpExample
.في إدخال نوع
{ "name": "Azure" }
نص الطلب ، ثم اضغط على مفتاح الإدخال Enter لإرسال رسالة الطلب هذه إلى الدالة.عند تنفيذ الدالة في Azure، يتم عرض الاستجابة في منطقة الإعلام. قم بتوسيع الإعلام لمراجعة الاستجابة الكاملة.
تنظيف الموارد
عند المتابعة إلى الخطوة التالية وإضافة ربط قائمة انتظار تخزين Azure لدالتك، ستحتاج إلى الاحتفاظ بكل مواردك في مكانها للاستفادة مما قمت به بالفعل.
بخلاف ذلك، يمكنك استخدام الخطوات التالية لحذف تطبيق الدالة والموارد المرتبطة به لتجنب تكبد أي تكاليف إضافية.
لفتح لوحة الأوامر في تعليمة Visual Studio البرمجية، اضغط على F1. في لوحة الأوامر، ابحث عن
Azure: Open in portal
واختره.اختر التطبيق الخاص بالوظائف، واضغط زر Enter. تفتح صفحة تطبيق الوظيفة في مدخل Microsoft Azure.
في علامة التبويب نظرة عامة حدد الارتباط المسمى بجوار Resource group.
في صفحة مجموعة الموارد، راجع قائمة الموارد المدرجة وتحقق من أنها هي التي تريد حذفها.
حدد حذف مجموعة الموارد، واتبع الإرشادات.
قد يستغرق الحذف دقيقتين. عند الانتهاء من ذلك، يظهر تنبيه لبضع ثوان. يمكنك أيضا تحديد رمز الجرس في أعلى الصفحة لعرض التنبيه.
لمعرفة المزيد حول تكاليف الوظائف، يرجى الاطلاع على تقدير تكاليف خطة الاستهلاك.