إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في Azure Functions، يقتصر دعم مكدس اللغة على إصدارات محددة. عند توفر إصدارات جديدة، قد ترغب في تحديث تطبيقات الوظائف للاستفادة من الميزات الجديدة. ينتهي الدعم في الوظائف أيضا للإصدارات القديمة وعادة ما يتماشى مع جداول نهاية الدعم الخاصة بالمجتمع. لمزيد من المعلومات، راجع نهج دعم وقت تشغيل اللغة. للحصول على الإصدارات المدعومة من لغات مختلفة، راجع اللغات حسب إصدار وقت التشغيل.
للمساعدة في ضمان استمرار تطبيقات الوظائف في تلقي الدعم، اتبع الإرشادات الواردة في هذه المقالة لتحديثها إلى أحدث الإصدارات المتاحة. تعتمد الطريقة التي تقوم بها بتحديث تطبيق الوظائف على عدة عوامل:
- اللغة التي تستخدمها لتطوير تطبيقات الوظائف الخاصة بك. تأكد من تحديد لغة البرمجة الخاصة بك في الجزء العلوي من هذه المقالة.
- نظام التشغيل الذي يعمل عليه تطبيق الوظائف الخاص بك في Azure: Windows أو Linux.
- خطة الاستضافة.
إشعار
توضح لك هذه المقالة كيفية تحديث إصدار .NET من تطبيق دالة يستخدم نموذج العامل المعزول. إذا كان تطبيق الوظائف الخاص بك يعمل على إصدار أقدم من .NET ويستخدم النموذج قيد المعالجة، فضع في اعتبارك الخيارات التالية:
إعداد تطبيق الوظائف الخاص بك
قبل تحديث تكوين المكدس لتطبيق الوظائف في Azure، أكمل المهام في الأقسام التالية.
تبعيات المراجعة
قبل تحديث إصدارات اللغة، راجع هذه التبعيات المحتملة:
-
حزم الامتدادات: تحقق من أن ملفك
host.jsonيشير إلى إصدار حزمة امتدادات متوافقة. يتم التوصية بحزم الإصدار 4.x لمعظم السيناريوهات.
امتدادات الربط: قم بتحديث أي مراجع ملحقات ربط صريحة إلى إصدارات متوافقة مع إصدار لغتك الجديد.
تبعيات الحزم: راجع وحدث جميع تبعيات الحزم إلى إصدارات تدعم نسخة اللغة المستهدفة.
الأدوات المحلية: تأكد من أن أدوات التطوير المحلية لديك، مثل أدوات Azure Functions الأساسية، وSDKs، وIDEs، تدعم النسخة اللغوية الجديدة.
التحقق من تطبيق الوظائف محليا
اختبر وتحقق من التعليمات البرمجية لتطبيق الوظائف محليا على الإصدار المستهدف الجديد.
استخدم هذه الخطوات لتحديث المشروع على الكمبيوتر المحلي:
تأكد من تثبيت الإصدار الهدف من .NET SDK.
إذا كنت تستهدف إصدار معاينة، فشاهد إرشادات الوظائف لمعاينة إصدارات .NET للتأكد من أن الإصدار مدعوم. قد يتطلب استخدام معاينات .NET المزيد من الخطوات.
قم بتحديث مراجعك إلى أحدث إصدارات Microsoft.Azure.Functions.WorkerوMicrosoft.Azure.Functions.Worker.Sdk.
تحديث إطار العمل المستهدف لمشروعك إلى الإصدار الجديد. بالنسبة لمشاريع C#، يجب عليك تحديث العنصر
<TargetFramework>الموجود في ملف .csproj . لمزيد من المعلومات حول الإصدار الخاص بك، راجع أطر العمل الهدف.قد يتطلب تغيير إطار العمل المستهدف لمشروعك أيضا تغييرات في أجزاء من سلسلة الأدوات الخاصة بك، خارج التعليمات البرمجية للمشروع. على سبيل المثال، في Visual Studio Code، قد تحتاج إلى تحديث
azureFunctions.deploySubpathإعداد الملحق في إعدادات المستخدم أو ملف .vscode/settings.json الخاص بمشروعك. تحقق من وجود أي تبعيات على إصدار إطار العمل الموجودة خارج التعليمات البرمجية للمشروع، كجزء من خطوات الإنشاء أو مسار التكامل المستمر والتسليم المستمر (CI/CD).قم بإجراء أي تحديثات على التعليمات البرمجية لمشروعك التي يتطلبها إصدار .NET الجديد. تحقق من ملاحظات إصدار الإصدار للحصول على معلومات محددة. يمكنك أيضا استخدام مساعد ترقية .NET للمساعدة في تحديث التعليمات البرمجية استجابة للتغييرات عبر الإصدارات الرئيسية.
بعد إجراء هذه التغييرات، أعد إنشاء مشروعك واختبره للتأكد من تشغيل تطبيق الوظائف كما هو متوقع.
الانتقال إلى أحدث وقت تشغيل Functions
تأكد من أن تطبيق الوظائف يعمل على أحدث إصدار من وقت تشغيل الوظائف (الإصدار 4.x). يمكنك تحديد إصدار وقت التشغيل إما في مدخل Microsoft Azure أو باستخدام Azure CLI.
استخدم هذه الخطوات لتحديد إصدار وقت تشغيل الوظائف:
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين.
انتقل إلى علامة التبويب إعدادات وقت تشغيل الوظيفة وتحقق من قيمة إصدار وقت التشغيل . يجب تشغيل تطبيق الوظائف الخاص بك على الإصدار 4.x من وقت تشغيل الوظائف (
~4).
إذا كنت بحاجة إلى تحديث تطبيق الوظائف إلى الإصدار 4.x، فراجع ترحيل التطبيقات من Azure Functions الإصدار 1.x إلى الإصدار 4.x أو ترحيل التطبيقات من Azure Functions الإصدار 3.x إلى الإصدار 4.x. اتبع الإرشادات الواردة في هذه المقالات بدلا من تغيير FUNCTIONS_EXTENSION_VERSION الإعداد فقط.
نشر تحديثات تطبيق الوظائف
إذا قمت بتحديث تطبيق الوظائف الخاص بك ليتم تشغيله بشكل صحيح على الإصدار الجديد، فقم بنشر تحديثات تطبيق الوظائف قبل تحديث تكوين المكدس لتطبيق الوظائف الخاص بك.
تلميح
لتبسيط عملية التحديث، وتقليل وقت التوقف لتطبيقات الوظائف لديك، وتوفير نسخة محتملة للتراجع، انشر تطبيق الوظائف المحدث في خانة المرحلة. لمزيد من المعلومات، راجع فتحات توزيع Azure Functions.
عند نشر تطبيق الوظائف المحدث في فتحة مرحلية، تأكد من اتباع إرشادات التحديث الخاصة بالفتحة في بقية هذه المقالة. يمكنك لاحقا تبديل فتحة التقسيم المرحلي المحدثة في الإنتاج.
فكر في استخدام ماكينات القمار
قبل تحديث نسخة اللغة في تطبيق الوظيفة الخاص بك، أنشئ فتحة نشر لاستخدامها للاختبار والنشر. يقلل هذا النهج من وقت التوقف ويوفر خيار التراجع بسهولة إذا حدثت مشاكل. الأمثلة في هذا المقال تستخدم فتحة ترتيب تسمى staging.
خطة استهلاك مرنة: ماكينات القمار غير مدعومة حاليا. يجب عليك أولا التحقق من كودك المحدث في تطبيق غير مخصص للوظائف الإنتاجية. عند النشر على تطبيق يعمل، قد تتمكن من استخدام استراتيجية التحديث المستمر. لمزيد من المعلومات، راجع استراتيجيات تحديث الموقع في الاستهلاك المرن.
هام
استراتيجية التحديث المتجدد قيد المعاينة حاليا ولا يوصى بها لتطبيقات الإنتاج. راجع القيود والاعتبارات الحالية قبل تمكين هذه الإستراتيجية في أي تطبيق إنتاج.
تحديث تكوين المكدس
تعتمد الطريقة التي تقوم بها بتحديث تكوين المكدس على ما إذا كان تطبيق الوظائف يعمل على Windows أو على Linux في Azure.
عند استخدام فتحة التقسيم المرحلي، تأكد من استهداف التحديثات إلى الفتحة الصحيحة.
استخدم الخطوات التالية لتحديث إصدار Java:
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين. إذا كان لديك فتحة تقسيم مرحلي، فحدد الفتحة المحددة.
في علامة التبويب الإعدادات العامة ، قم بتحديث إصدار Java إلى الإصدار المطلوب.
حَدِّد حِفظ. عندما يتم إعلامك بإعادة التشغيل، حدد متابعة.
استخدم الخطوات التالية لتحديث إصدار .NET:
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين. إذا كان لديك فتحة تقسيم مرحلي، فحدد الفتحة المحددة.
في علامة التبويب الإعدادات العامة ، قم بتحديث إصدار .NET إلى الإصدار المطلوب.
حَدِّد حِفظ. عندما يتم إعلامك بإعادة التشغيل، حدد متابعة.
استخدم الخطوات التالية لتحديث إصدار Node.js:
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين. إذا كان لديك فتحة تقسيم مرحلي، فحدد الفتحة المحددة.
في علامة التبويب الإعدادات العامة ، قم بتحديث Node.js الإصدار إلى الإصدار المطلوب.
حَدِّد حِفظ. عندما يتم إعلامك بإعادة التشغيل، حدد متابعة. يحدث
WEBSITE_NODE_DEFAULT_VERSIONهذا التغيير إعداد التطبيق.
استخدم الخطوات التالية لتحديث إصدار PowerShell:
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين. إذا كان لديك فتحة تقسيم مرحلي، فحدد الفتحة المحددة.
في علامة التبويب الإعدادات العامة ، قم بتحديث إصدار PowerShell Core إلى الإصدار المطلوب.
حَدِّد حِفظ. عندما يتم إعلامك بإعادة التشغيل، حدد متابعة.
البوابة لا تدعم تطبيقات بايثون على ويندوز. انتقل إلى علامة التبويب Linux بدلا من ذلك.
يتم إعادة تشغيل تطبيق الوظائف بعد تحديث الإصدار.
إشعار
أثناء إعادة التشغيل، لا يكون تطبيق الوظائف متاحا لفترة وجيزة، عادة من 30 إلى 60 ثانية. إذا قمت بتحديث تطبيق وظيفة الإنتاج مباشرة (دون استخدام فتحة التجهيز)، خطط لهذا التوقف خلال فترة الصيانة. إعادة التشغيل تنهي أي طلبات أثناء الرحلة، وتفشل الطلبات الجديدة حتى يعيد تشغيل التطبيق بنجاح.
التحقق من التحديث
بعد إعادة تشغيل تطبيق الوظيفة، تحقق من نجاح تحديث نسخة اللغة.
في مدخل Microsoft Azure، حدد موقع تطبيق الوظائف وحدده. في القائمة الجانبية ، حدد>إعدادات التكوين.
في تبويب الإعدادات العامة ، تحقق من أن نسخة اللغة تعرض النسخة الجديدة التي اخترتها.
اختر نظرة عامة في القائمة الجانبية وتأكد من أن الحالة تظهر كأنها قيد التشغيل.
بعد التحقق من الإصدار، تحقق أيضا من أن وظائفك تعمل كما هو متوقع.
فتحات المبادلة
إذا استخدمت فتحة التجهيز لنشر مشروع الكود وتحديث الإعدادات، قم بتبديل فتحة المرحل إلى الإنتاج. لمزيد من المعلومات، راجع تبديل الفتحات.
استكشاف الأخطاء وإصلاحها
إذا واجهت مشاكل بعد تحديث نسخة اللغة، استخدم الإرشادات التالية لحل المشاكل الشائعة:
تطبيق الوظيفة لا يبدأ
الأعراض: تظهر حالة تطبيق الوظيفة كتوقف أو إعادة تشغيل مستمرة.
الحلول:
تحقق من سجلات التطبيقات في بوابة Azure:
- انتقل إلى تطبيق الوظائف الخاص بك واختر مراقبة>تدفق سجل.
- ابحث عن رسائل خطأ متعلقة بعدم تطابق وقت التشغيل أو إصدار اللغة.
تحقق من أن جميع التبعيات متوافقة مع النسخة الجديدة من اللغة:
- بالنسبة ل .NET، تأكد من دعم حزم NuGet لإطار العمل المستهدف.
- بالنسبة لغة بايثون، تحقق من أن نسخ الحزم متوافقة
requirements.txt. - بالنسبة ل Node.js، تحقق
package.jsonمن دعم التبعيات لإصدار Node الجديد.
تحقق من نسخة حزمة الامتداد في ملفك
host.json. قد لا تدعم الحزم القديمة إصدارات اللغات الأحدث.
تفشل الدوال مع أخطاء وقت التشغيل
الأعراض: تفشل الوظائف الفردية عند تفعيلها، مع وجود أخطاء في السجلات.
الحلول:
راجع التغييرات العاجلة لإصدار لغتك:
- راجع التغييرات العاجلة في .NET للنسخة المستهدفة.
- راجع ملاحظات إصدار جافا للحصول على إرشادات حول الترحيل.
- تحقق من ملاحظات الإصدارNode.js للتغيرات العاجلة.
- اطلع على ما هو جديد في بايثون لمعرفة التغييرات الخاصة بالإصدارات.
- راجع ملاحظات إصدار PowerShell للاطلاع على التغييرات.
قم بتحديث امتدادات الربط إلى إصدارات متوافقة مع نسخة لغتك الجديدة.
اختبر الوظائف محليا مع النسخة الجديدة من اللغة قبل إعادة النشر.
تعارضات إصدارات الامتداد
الأعراض: أخطاء تذكر عدم توافق النسخة "امتداد" أو "ربط".
الحلول:
قم بتحديث إصدار
host.jsonحزمة الإضافات إلى الإصدار 4.x أو أحدث.{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }بالنسبة لمشاريع .NET التي تستخدم مراجع إضافات صريحة، قم بتحديث جميع
Microsoft.Azure.WebJobs.Extensions.*الحزم إلى أحدث إصداراتها.
التراجع عن التحديث
إذا كنت بحاجة للعودة إلى النسخة السابقة من اللغة:
إذا استخدمت فتحة تجهيز:
- أعد إلى مرحلة الإنتاج.
- قم بتحديث فتحة المراحل إلى النسخة السابقة لمحاولات مستقبلية.
إذا قمت بتحديث الإنتاج مباشرة:
- اتبع نفس خطوات التحديث في هذا المقال ولكن حدد نسختك اللغوية السابقة.
- أعد نشر نسخة الكود السابقة.
راقب تطبيق الوظائف الخاص بك لضمان عودته إلى العمل الطبيعي.
تلميح
لتجنب المشاكل، قم دائما باختبار تحديثات إصدار اللغة في فتحة المراحل قبل تطبيقها على الإنتاج. قم بعمل نسخة احتياطية لإعدادات تطبيق الوظائف قبل إجراء التغييرات.