نظرة عامة حول إصدارات وقت تشغيل Azure Functions
تدعم Azure Functions حاليا إصدارين من مضيف وقت التشغيل. يوضح الجدول التالي تفاصيل إصدارات وقت التشغيل المدعومة حاليا ومستوى دعمها ومتى يجب استخدامها:
إصدار | مستوى الدعم | الوصف |
---|---|---|
4.x | التوفر العام | إصدار وقت التشغيل الموصى به للوظائف بجميع اللغات. اطلع على إصدارات اللغة المدعومة. |
1.x | GA (ينتهي الدعم في 14 سبتمبر 2026) | معتمد فقط لتطبيقات C# التي يجب أن تستخدم .NET Framework. هذا الإصدار في وضع الصيانة، مع تحسينات مقدمة فقط في الإصدارات اللاحقة. سينتهي الدعم للإصدار 1.x في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x، الذي يدعم .NET Framework 4.8 و.NET 8 و.NET 9. |
هام
اعتبارا من 13 ديسمبر 2022، وصلت تطبيقات الوظائف التي تعمل على الإصدارين 2.x و3.x من وقت تشغيل Azure Functions إلى نهاية الدعم الموسع. لمزيد من المعلومات، راجع الإصدارات المتوقفة.
توضح هذه المقالة تفاصيل بعض الاختلافات بين الإصدارات المدعومة، وكيف يمكنك إنشاء كل إصدار، وكيفية تغيير الإصدار الذي تعمل عليه وظائفك.
مستويات الدعم
هناك مستويان من الدعم:
- التوافر العام (GA): معتمد ومُوافق عليه بالكامل للاستخدام الإنتاجي.
- المعاينة: غير معتمدة حتى الآن، ولكن من المتوقع أن تصل إلى حالة التوافر العام في المستقبل.
اللغات
يجب أن تشترك جميع الدوال الموجودة في تطبيق الدوال في نفس اللغة. يمكنك اختيار لغة الوظائف في تطبيق الوظائف عند إنشاء التطبيق. يتم الاحتفاظ بلغة تطبيق الوظائف في إعداد FUNCTIONS_WORKER_RUNTIME ، ولا يمكن تغييرها عند وجود وظائف موجودة.
تأكد من تحديد لغة التطوير المفضلة لديك في أعلى المقالة.
يعرض الجدول التالي إصدارات .NET المدعومة من Azure Functions.
يعتمد الإصدار المدعوم من .NET على كل من إصدار وقت تشغيل الوظائف ونموذج التنفيذ الذي اخترته:
تعمل تعليمة دالتك البرمجية في عملية عامل .NET منفصلة. استخدم مع الإصدارات المدعومة من .NET و.NET Framework. لمعرفة المزيد، راجع تطوير وظائف معالجة العامل المعزولة .NET.
إصدار مدعوم | مستوى الدعم | تاريخ EOL المجتمعي المتوقع |
---|---|---|
.NET 9 | التوفر العام | 12 مايو 2026 |
.NET 8 | التوفر العام | 10 نوفمبر 2026 |
.NET Framework 4.8.1 | التوفر العام | راجع النهج |
تم دعم .NET 6 مسبقا على نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 12 نوفمبر 2024.
تم دعم .NET 7 مسبقا على نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 14 مايو 2024.
لمزيد من المعلومات، راجع دليل تشغيل وظائف C# Azure في عملية عامل معزولة.
يعرض الجدول التالي إصدارات اللغة المدعومة لوظائف Java.
إصدار مدعوم | مستوى الدعم | مدعوم حتى |
---|---|---|
Java 21 (Linux-only) | الإصدار الأولي | راجع مخطط الإصدار والخدمة. |
Java 17 | التوفر العام | راجع مخطط الإصدار والخدمة. |
Java 11 | التوفر العام | راجع مخطط الإصدار والخدمة. |
Java 8 | التوفر العام | راجع صفحة دعم Temurin هذه. |
لمزيد من المعلومات حول تطوير وظائف Java وتشغيلها، راجع دليل مطور Java لوظائف Azure.
يعرض الجدول التالي إصدارات اللغة المدعومة لوظائف Node.js.
إصدار مدعوم | مستوى الدعم | تاريخ EOL المجتمعي المتوقع |
---|---|---|
Node.js 22 | الإصدار الأولي | 30 أبريل 2027 |
Node.js 20 | التوفر العام | 30 أبريل 2026 |
Node.js 18 | التوفر العام | 30 أبريل 2025 |
يتم دعم TypeScript من خلال التحويل إلى JavaScript. لمزيد من المعلومات، راجع دليل مطور Azure Functions Node.js.
يعرض الجدول التالي إصدار اللغة المعتمد لوظائف PowerShell.
إصدار مدعوم | مستوى الدعم | تاريخ EOL المجتمعي المتوقع |
---|---|---|
PowerShell 7.4 | التوفر العام | 10 نوفمبر 2026 |
PowerShell 7.2 | التوفر العام | 8 نوفمبر 2024 |
لمزيد من المعلومات، راجع دليل مطور Azure Functions PowerShell.
يعرض الجدول التالي إصدارات اللغة المدعومة لوظائف Python.
إصدار مدعوم | مستوى الدعم | تاريخ EOL المجتمعي المتوقع |
---|---|---|
Python 3.11 | التوفر العام | أكتوبر 2027 |
Python 3.10 | التوفر العام | أكتوبر 2026 |
Python 3.9 | التوفر العام | أكتوبر 2025 |
برنامج Python 3.8 | التوفر العام | أكتوبر 2024 |
لمزيد من المعلومات، راجع دليل مطور Azure Functions Python.
للحصول على معلومات حول التغييرات المخططة لدعم اللغة، راجع مخطط Azure.
للحصول على معلومات حول إصدارات اللغة للإصدارات المدعومة سابقا من وقت تشغيل الوظائف، راجع إصدارات وقت التشغيل المتوقفة.
تشغيل على إصدار معين
يتم إملاء إصدار وقت تشغيل الدوال المستخدم من قبل التطبيقات المنشورة في Azure بواسطة إعداد التطبيق FUNCTIONS_EXTENSION_VERSION
. في بعض الحالات ولغات معينة، يمكن تطبيق إعدادات أخرى.
بشكل افتراضي، يتم تعيين تطبيقات الوظائف التي تم إنشاؤها في مدخل Microsoft Azure أو بواسطة Azure CLI أو من أدوات Visual Studio إلى الإصدار 4.x. يمكنك تعديل هذا الإصدار حسب الحاجة. يمكنك فقط الرجوع إلى إصدار وقت التشغيل 1.x بعد إنشاء تطبيق الدالة ولكن قبل إضافة أي دوال. يسمح بالتحديث إلى إصدار رئيسي لاحق حتى مع التطبيقات التي تحتوي على وظائف موجودة.
ترحيل تطبيقات الوظائف الموجودة
عندما يحتوي تطبيقك على وظائف موجودة، يجب عليك اتخاذ الاحتياطات قبل الانتقال إلى إصدار وقت تشغيل رئيسي لاحق. توضح المقالات التالية تفاصيل التغييرات الفاصلة بين الإصدارات الرئيسية، بما في ذلك التغييرات العاجلة الخاصة باللغة. كما أنها توفر لك إرشادات خطوة بخطوة لترحيل ناجح لتطبيق الوظائف الحالي.
تغيير إصدار التطبيقات في Azure
يتم استخدام قيم إصدار وقت التشغيل الرئيسية التالية:
القيمة | هدف وقت التشغيل |
---|---|
~4 |
4.x |
~1 |
1.x |
هام
لا تقم بتغيير إعداد التطبيق هذا بشكل عشوائي، لأنه قد يلزم إجراء تغييرات وتغييرات أخرى في إعداد التطبيق على التعليمات البرمجية للدالة. بالنسبة لتطبيقات الوظائف الموجودة، اتبع إرشادات الترحيل.
التثبيت بإصدار ثانوي معين
لحل المشكلات التي يمكن أن يحدثها تطبيق الوظائف عند التشغيل على أحدث إصدار رئيسي، يجب عليك تثبيت تطبيقك مؤقتا بإصدار ثانوي معين. يمنحك التثبيت الوقت لتشغيل التطبيق بشكل صحيح على أحدث إصدار رئيسي. تختلف الطريقة التي تثبّت بها إصدارًا ثانويًا بين Windows وLinux. لمعرفة المزيد، راجع كيفية استهداف إصدارات وقت تشغيل Azure Functions.
تتم إزالة الإصدارات الثانوية الأقدم بشكل دوري من الدوال. للحصول على أحدث الأخبار حول إصدارات Azure Functions، بما في ذلك إزالة إصدارات ثانوية قديمة معينة، راقب إعلانات Azure App Service.
الحد الأدنى لإصدارات الملحق
من الناحية الفنية لا يوجد ارتباط بين إصدارات ملحق الربط وإصدار وقت تشغيل الوظائف. ومع ذلك، بدءا من الإصدار 4.x يفرض وقت تشغيل الوظائف حدا أدنى من الإصدار لجميع ملحقات المشغل والربط.
إذا تلقيت تحذيرا حول حزمة لا تفي بالحد الأدنى من الإصدار المطلوب، يجب تحديث حزمة NuGet إلى الحد الأدنى من الإصدار كما تفعل عادة. يمكن العثور على الحد الأدنى لمتطلبات الإصدار للملحقات المستخدمة في Functions v4.x في ملف التكوين المرتبط.
بالنسبة إلى البرنامج النصي C#، قم بتحديث مرجع مجموعة الملحقات في host.json كما يلي:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
من الناحية الفنية لا يوجد ارتباط بين إصدارات حزمة الملحقات وإصدار وقت تشغيل الوظائف. ومع ذلك، بدءا من الإصدار 4.x يفرض وقت تشغيل الوظائف حدا أدنى من الإصدار لحزم الملحقات.
إذا تلقيت تحذيرا حول عدم تلبية إصدار حزمة الملحقات للحد الأدنى من الإصدار المطلوب، فقم بتحديث مرجع مجموعة الملحقات الموجودة في host.json كما يلي:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
لمعرفة المزيد حول حزم الملحقات، راجع حزم الملحقات.
الإصدارات المتوقفة
هام
سينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل.
وصلت هذه الإصدارات من وقت تشغيل الوظائف إلى نهاية الدعم الموسع في 13 ديسمبر 2022.
إصدار | مستوى الدعم الحالي | مستوى الدعم السابق |
---|---|---|
3.x | خارج الدعم | التوفر العام |
2.x | خارج الدعم | التوفر العام |
في أقرب وقت ممكن، يجب ترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل. للحصول على مجموعة كاملة من إرشادات الترحيل الخاصة باللغة، راجع ترحيل التطبيقات إلى Azure Functions الإصدار 4.x.
لا يزال من الممكن إنشاء التطبيقات التي تستخدم الإصدارين 2.x و3.x ونشرها من البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD DevOps، وتستمر جميع التطبيقات الموجودة في العمل دون حدوث تغييرات معطلة. ومع ذلك، فإن تطبيقاتك غير مؤهلة للميزات الجديدة وتصحيحات الأمان وتحسينات الأداء. يمكنك الحصول على دعم الخدمة ذات الصلة فقط بعد ترقية تطبيقاتك إلى الإصدار 4.x.
يعود سبب انتهاء دعم الإصدارين 2.x و3.x إلى انتهاء دعم .NET Core 3.1، والذي كان لديهما كتبعية أساسية. يؤثر هذا المطلب على جميع اللغات التي تدعمها Azure Functions.
إصدارات التطبيقات المطورة محليًا
يمكنك إجراء التحديثات التالية على تطبيقات الدوال لتغيير الإصدارات المستهدفة محليًا.
إصدارات وقت تشغيل Visual Studio
في Visual Studio، حدد إصدار وقت التشغيل عند إنشاء مشروع. تدعم أدوات Azure Functions ل Visual Studio إصداري وقت التشغيل الرئيسيين. يتم استخدام الإصدار الصحيح عند تصحيح الأخطاء والنشر استنادًا إلى إعدادات المشروع. يتم تعريف إعدادات الإصدار في ملف .csproj
في الخصائص التالية:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
إذا كنت تستخدم نموذج العامل المعزول، يمكنك اختيار أو net8.0
net6.0
أو أو net48
كإطار عمل هدف. يمكنك أيضا اختيار استخدام دعم المعاينة ل net9.0
. إذا كنت تستخدم النموذج قيد المعالجة، يمكنك اختيار net8.0
أو net6.0
، ويجب تضمين Microsoft.NET.Sdk.Functions
الملحق المعين على الأقل 4.4.0
.
تم دعم .NET 7 مسبقا على نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 14 مايو 2024.
Visual Studio Code وAzure Functions Core Tools
تُستخدم Azure Functions Core Tools لتطوير سطر الأوامر وأيضًا بواسطة ملحق Azure Functions لـ Visual Studio Code. لمزيد من المعلومات، راجع تثبيت Azure Functions Core Tools.
لتطوير Visual Studio Code، قد تحتاج أيضا إلى تحديث إعداد المستخدم لمطابقة azureFunctions.projectRuntime
إصدار الأدوات المثبتة. يقوم هذا الإعداد أيضًا بتحديث القوالب واللغات المستخدمة أثناء إنشاء تطبيق الدالة.
Bindings
بدءًا من الإصدار 2.x، يستخدم وقت التشغيل نموذجًا جديدًا لقابلية توسع الربط يوفر هذه المزايا:
دعم ملحقات الربط لجهة خارجية.
فصل وقت التشغيل والروابط. يسمح هذا التغيير أن يتم إصدار ملحقات الربط بشكل مستقل. يمكنك، على سبيل المثال، اختيار الترقية إلى إصدار ملحق يعتمد على إصدار أحدث من SDK أساسي.
بيئة تنفيذ أخف، حيث تكون الروابط المستخدمة فقط معروفة ويتم تحميلها بواسطة وقت التشغيل.
باستثناء مشغلات HTTP والمؤقت، يجب إضافة جميع الارتباطات بشكل صريح إلى مشروع تطبيق الوظيفة، أو يتم تسجيلها في المدخل. لمزيد من المعلومات، راجع تسجيل ملحقات الربط.
يوضح الجدول التالي الروابط المدعومة في كل إصدار وقت تشغيل.
يعرض هذا الجدول الروابط المعتمدة في الإصدارات الرئيسية من وقت تشغيل Azure Functions:
نوع | 1.x1 | 2.x وأعلى2 | المشغِّل | الإدخال | الإخراج |
---|---|---|---|---|---|
Blob storage | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Data Explorer | ✔ | ✔ | ✔ | ||
عنوان SQL لـ Azure | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
شبكة الأحداث | ✔ | ✔ | ✔ | ✔ | |
مراكز الأحداث | ✔ | ✔ | ✔ | ✔ | |
خطافات HTTP والويب | ✔ | ✔ | ✔ | ✔ | |
مركز IoT | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
تطبيقات الجوّال | ✔ | ✔ | ✔ | ||
مراكز الإعلامات | ✔ | ✔ | |||
تخزين قائمة الانتظار | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | ✔ | ✔ | |
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
ناقل الخدمة | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
تخزين الجداول | ✔ | ✔ | ✔ | ✔ | |
المؤقت | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
ملاحظات:
- سينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل.
- بدءا من وقت تشغيل الإصدار 2.x، يجب تسجيل جميع الروابط باستثناء HTTP وTimer. راجع تسجيل ملحقات الربط.
- المشغلات غير مدعومة في خطة الاستهلاك. يتطلب مشغلات تستند إلى وقت التشغيل.
- مدعوم في Kubernetes وIoT Edge وغيرها من الأوضاع المستضافة ذاتيا فقط.
مدة انتهاء مهلة تطبيق الوظائف
يتم تعريف مدة المهلة للوظائف في تطبيق الوظائف بواسطة الخاصية functionTimeout
في ملف مشروع host.json . تنطبق هذه الخاصية بشكل خاص على عمليات تنفيذ الوظائف. بعد أن يبدأ المشغل في تنفيذ الدالة، تحتاج الدالة إلى الإرجاع/الاستجابة خلال مدة المهلة. لتجنب المهلات، من المهم كتابة وظائف قوية. لمزيد من المعلومات، راجع تحسين أداء وموثوقية Azure Functions.
يعرض الجدول التالي القيم الافتراضية والحد الأقصى (بالدقائق) لخطط معينة:
الخطة | الإعداد الافتراضي | الحد الأقصى1 |
---|---|---|
خطة استهلاك Flex | 30 | غير مقيد2 |
خطة متميزة | 304 | غير مقيد2 |
خطة مخصصة | 304 | غير مقيد3 |
تطبيقات الحاوية | 30 | غير مقيد5 |
خطة الاستهلاك | 5 | 10 |
- بغض النظر عن إعداد مهلة تطبيق الوظائف، فإن 230 ثانية هي الحد الأقصى للوقت الذي يمكن أن تستغرقه وظيفة HTTP المشغلة للاستجابة لطلب. ويرجع ذلك إلى انتهاء مهلة الخمول الافتراضية ل Azure Load Balancer. لأوقات المعالجة الأطول، ضع في اعتبارك استخدام نمط Durable Functions غير المتزامن أو تأجيل العمل الفعلي وإرجاع استجابة فورية.
- لا توجد مدة مهلة تنفيذ قصوى مفروضة. ومع ذلك، فإن فترة السماح الممنوحة لتنفيذ الوظيفة هي 60 دقيقة أثناء التوسع لخطط Flex Consumption وPremium، ويتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
- يتطلب تعيين خطة App Service إلى Always On. يتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
- المهلة الافتراضية للإصدار 1.x من وقت تشغيل مضيف الوظائف غير مقيدة.
- عند تعيين الحد الأدنى لعدد النسخ المتماثلة على صفر، تعتمد المهلة الافتراضية على المشغلات المحددة المستخدمة في التطبيق.
الخطوات التالية
لمزيد من المعلومات، راجع الموارد التالية: