مشاركة عبر


نظرة عامة حول إصدارات وقت تشغيل Azure Functions

تدعم Azure Functions حاليا إصدارين من مضيف وقت التشغيل. يوضح الجدول التالي تفاصيل إصدارات وقت التشغيل المدعومة حاليا ومستوى دعمها ومتى يجب استخدامها:

Version مستوى الدعم Description
4.x GA إصدار وقت التشغيل الموصى به للوظائف بجميع اللغات. اطلع على إصدارات اللغة المدعومة.
1.x GA (ينتهي الدعم في 14 سبتمبر 2026) معتمد فقط لتطبيقات C# التي يجب أن تستخدم .NET Framework. هذا الإصدار في وضع الصيانة، مع تحسينات مقدمة فقط في الإصدارات اللاحقة. سينتهي الدعم للإصدار 1.x في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x، الذي يدعم .NET Framework 4.8 و .NET 8 و .NET 9 و .NET 10 Preview.

Important

اعتبارا من 13 ديسمبر 2022، وصلت تطبيقات الوظائف التي تعمل على الإصدارين 2.x و3.x من وقت تشغيل Azure Functions إلى نهاية الدعم الموسع. لمزيد من المعلومات، راجع الإصدارات المستبعادة.

توضح هذه المقالة تفاصيل بعض الاختلافات بين الإصدارات المدعومة، وكيف يمكنك إنشاء كل إصدار، وكيفية تغيير الإصدار الذي تعمل عليه وظائفك.

مستويات الدعم

هناك مستويان من الدعم:

  • التوافر العام (GA): معتمد ومُوافق عليه بالكامل للاستخدام الإنتاجي.
  • معاينة - غير مدعومة بعد، ولكن من المتوقع أن تصل إلى حالة GA في المستقبل.

Languages

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

تأكد من تحديد لغة التطوير المفضلة لديك في أعلى من المقالة.

يعرض الجدول التالي إصدارات .NET المدعومة من Azure Functions.

يعتمد الإصدار المدعوم من .NET على كل من إصدار وقت تشغيل Functions ونموذج التنفيذ المحدد.

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

إصدار مدعوم مستوى الدعم تاريخ انتهاء الدعم المتوقع
.نت 10 GA 14 نوفمبر 2028.
.NET 9 GA 10 نوفمبر، 20261
.نت 8 GA 10 نوفمبر 2026
إطار عمل .NET 4.8.1 GA راجع نهج دعم .NET Framework.

كان 1 .NET 9 سابقا تاريخ نهاية الدعم المتوقع في 12 مايو 2026. خلال نافذة خدمة .NET 9 ، قام فريق .NET بتوسيع دعم إصدارات STS إلى 24 شهرا ، بدءا من .NET 9. لمزيد من المعلومات، راجع منشور المدونة.

كان .NET 6 مدعوما سابقا من قبل نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 12 نوفمبر 2024.

كان .NET 7 مدعوما سابقا من قبل نموذج العامل المعزول ولكنه وصل إلى نهاية الدعم الرسمي في 14 مايو 2024.

لمزيد من المعلومات، راجع دليل لتشغيل وظائف C# Azure في نموذج العامل المعزول.

يوضح الجدول التالي إصدارات اللغة المدعومة لتطبيقات وظائف Java:

إصدار مدعوم مستوى الدعم مدعوم حتى
جافا 25 Preview المعلقه*
جافا 21 GA راجع خارطة طريق الإصدار والخدمة.
جافا 17 GA راجع خارطة طريق الإصدار والخدمة.
جافا 11 GA راجع خارطة طريق الإصدار والخدمة.
جافا 8 GA انظر صفحة دعم Temurin.

*يتم تحديد تاريخ نهاية الدعم لجافا 25 عند إعلان التوفر العام (GA).

لمزيد من المعلومات حول تطوير تطبيقات وظائف Java وتشغيلها، راجع دليل مطور Azure Functions Java.

يوضح الجدول التالي إصدارات اللغة المدعومة لتطبيقات الوظائف Node.js:

إصدار مدعوم مستوى الدعم تاريخ انتهاء الدعم المتوقع
Node.js 24 Preview 30 أبريل 2028
Node.js 22 GA 30 أبريل 2027
Node.js 20 GA 30 أبريل 2026

يتم دعم TypeScript من خلال التحويل إلى JavaScript. لمزيد من المعلومات، راجع دليل مطور Azure Functions Node.js.

يوضح الجدول التالي إصدار اللغة المعتمد لتطبيقات وظائف PowerShell:

إصدار مدعوم مستوى الدعم تاريخ انتهاء الدعم المتوقع
باور شيل 7.4 GA 10 نوفمبر 2026

لمزيد من المعلومات، راجع دليل مطور Azure Functions PowerShell.

يوضح الجدول التالي إصدارات اللغة المدعومة لتطبيقات دالة Python:

إصدار مدعوم مستوى الدعم تاريخ انتهاء الدعم المتوقع
بايثون 3.13 GA أكتوبر 2029
بايثون 3.12 GA أكتوبر 2028
بايثون 3.11 GA أكتوبر 2027
بايثون 3.10 GA أكتوبر 2026

لمزيد من المعلومات، راجع دليل مطور Azure Functions Python.

للحصول على معلومات حول التغييرات المخطط لها في دعم اللغة، راجع تحديثات مخطط Azure.

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

تشغيل على إصدار معين

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

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

ترحيل تطبيقات الوظائف الموجودة

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

تغيير إصدار التطبيقات في Azure

يتم استخدام قيم إصدار وقت التشغيل الرئيسية التالية:

Value هدف وقت التشغيل
~4 4.x
~1 1.x

Important

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

التثبيت بإصدار ثانوي معين

لحل المشكلات التي قد تواجه تطبيق الوظائف عند التشغيل على أحدث إصدار رئيسي، يجب تثبيت تطبيقك مؤقتا بإصدار ثانوي معين. يمنحك التثبيت الوقت لتشغيل التطبيق بشكل صحيح على أحدث إصدار رئيسي. تختلف الطريقة التي تثبّت بها إصدارًا ثانويًا بين 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)"
    }
}

لمعرفة المزيد حول حزم الإضافات، راجع حزم الإضافات.

الإصدارات المستعملة

وصلت هذه الإصدارات من وقت تشغيل الوظائف إلى نهاية الدعم الموسع في 13 ديسمبر 2022.

Version مستوى الدعم الحالي مستوى الدعم السابق
3.x نفاد الدعم GA
2.x نفاد الدعم GA

في أقرب وقت ممكن، يجب ترحيل تطبيقاتك إلى الإصدار 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>

إذا كنت تستخدم نموذج العامل المعزول ، يمكنك اختيار أو net9.0أو net8.0أو net48 كإطار عمل مستهدف. يمكنك أيضا اختيار استخدام دعم المعاينة ل net10.0. إذا كنت تستخدم النموذج قيد المعالجة، فيمكنك اختيار net8.0 أو net6.0، ويجب عليك تضمين الملحق Microsoft.NET.Sdk.Functions الذي تم تعيينه على الأقل 4.4.0. .NET 10 غير مدعوم من قبل النموذج قيد المعالجة ؛ إذا كنت تستخدم النموذج قيد المعالجة وترغب في استخدام .NET 10، فقم بترحيل تطبيقك إلى نموذج العامل المعزول.

تم دعم .NET 6 سابقا على نموذج العامل المعزول والنموذج قيد المعالجة، لكنه وصل إلى نهاية الدعم الرسمي في 12 نوفمبر 2024. تم دعم .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، يستخدم وقت التشغيل نموذجًا جديدًا لقابلية توسع الربط يوفر هذه المزايا:

  • دعم ملحقات الربط غير التابعة ل Microsoft.

  • فصل وقت التشغيل والروابط. يسمح هذا التغيير أن يتم إصدار ملحقات الربط بشكل مستقل. يمكنك، على سبيل المثال، اختيار الترقية إلى إصدار ملحق يعتمد على إصدار أحدث من SDK أساسي.

  • بيئة تنفيذ أخف، حيث تكون الروابط المستخدمة فقط معروفة ويتم تحميلها بواسطة وقت التشغيل.

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

يعرض هذا الجدول الروابط المعتمدة في الإصدارات الرئيسية من وقت تشغيل Azure Functions:

Type 1.x1 2.x والإصدارات الأحدث2 Trigger Input Output
تخزين كائن ثنائي كبير الحجم
Azure Cosmos DB
مستكشف بيانات Azure
عنوان SQL لـ Azure
Dapr4
شبكة الأحداث
مراكز الأحداث
HTTP وخطافات الويب
مركز IoT
Kafka3
تطبيقات الجوال
بروتوكول سياق النموذج
مراكز الإعلامات
تخزين قائمة الانتظار
Redis
RabbitMQ3
SendGrid
ناقل خدمة
خدمة Azure SignalR
تخزين الجدول
Timer
Twilio

1سينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل.

2 بدءا من وقت تشغيل الإصدار 2.x، يجب تسجيل جميع الروابط باستثناء HTTP والمؤقت راجع تسجيل ملحقات ربط Azure Functions.

3 المشغلات غير مدعومة في خطة الاستهلاك. يتطلب هذا النوع من الربط مشغلات تعتمد على وقت التشغيل.

4 يتم دعم نوع الربط هذا في Kubernetes وAzure IoT Edge والأوضاع الأخرى المستضافة ذاتيا فقط.

مدة انتهاء مهلة تطبيق الوظائف

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

يعرض الجدول التالي القيم الافتراضية والحد الأقصى (بالدقائق) لخطط معينة:

Plan Default Maximum1
خطة استهلاك Flex 30 Unbounded2
خطة متميزة 304 Unbounded2
خطة مخصصة 304 Unbounded3
تطبيقات الحاوية 30 Unbounded5
خطة الاستهلاك 5 10
  1. بغض النظر عن إعداد مهلة تطبيق الوظائف، فإن 230 ثانية هي الحد الأقصى للوقت الذي يمكن أن تستغرقه وظيفة HTTP المشغلة للاستجابة لطلب. ويرجع ذلك إلى انتهاء مهلة الخمول الافتراضية ل Azure Load Balancer. لأوقات المعالجة الأطول، ضع في اعتبارك استخدام نمط Durable Functions غير المتزامن أو تأجيل العمل الفعلي وإرجاع استجابة فورية.
  2. لا توجد مدة مهلة تنفيذ قصوى مفروضة. ومع ذلك، فإن فترة السماح الممنوحة لتنفيذ الوظيفة هي 60 دقيقة أثناء التوسع لخطط Flex Consumption وPremium، ويتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
  3. يتطلب تعيين خطة App Service إلى تشغيل دائما. يتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
  4. المهلة الافتراضية للإصدار 1.x من وقت تشغيل مضيف الوظائف غير مقيدة.
  5. عند تعيين الحد الأدنى لعدد النسخ المتماثلة على صفر، تعتمد المهلة الافتراضية على المشغلات المحددة المستخدمة في التطبيق.

تفترض القيم الموجودة في هذا الجدول أن عملية مضيف Azure Functions قد بدأت وتعمل بشكل صحيح. هناك مهلة قصوى تبلغ 60 ثانية مسموح بها لبدء عملية العامل الخاصة باللغة أيضا. مهلة بدء تشغيل عملية العامل غير قابلة للتكوين حاليا.

لمزيد من المعلومات، راجع الموارد التالية: