نظرة عامة حول إصدارات وقت تشغيل 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 6 و.NET 8.

هام

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

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

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

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

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

اللغات

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

يعرض الجدول التالي إصدارات .NET المدعومة من Azure Functions. حدد لغة التطوير المفضلة لديك في أعلى المقالة.

يعتمد الإصدار المدعوم من .NET على كل من إصدار وقت تشغيل الوظائف ونموذج التنفيذ الذي اخترته:

تعمل تعليمة دالتك البرمجية في عملية عامل .NET منفصلة. استخدم مع الإصدارات المدعومة من .NET و.NET Framework. لمعرفة المزيد، راجع تطوير وظائف معالجة العامل المعزولة .NET.

إصدار مدعوم مستوى الدعم تاريخ EOL المجتمعي المتوقع
.NET 8 التوفر العام 10 نوفمبر 2026
.NET 6 التوفر العام 12 نوفمبر 2024
.NET Framework 4.8 التوفر العام راجع النهج

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

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

يعرض الجدول التالي إصدارات اللغة المدعومة لوظائف Java. حدد لغة التطوير المفضلة لديك في أعلى المقالة.

إصدار مدعوم مستوى الدعم تاريخ EOL المجتمعي المتوقع
Java 21 (Linux-only) الإصدار الأولي سبتمبر 2028
Java 17 التوفر العام سبتمبر 2027
Java 11 التوفر العام سبتمبر 2027
Java 8 التوفر العام 30 نوفمبر 2026

لمزيد من المعلومات، راجع دليل مطور Java لوظائف Azure.

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

إصدار مدعوم مستوى الدعم تاريخ EOL المجتمعي المتوقع
Node.js 20 التوفر العام 30 أبريل 2026
Node.js 18 التوفر العام 30 أبريل 2025
Node.js 16 التوفر العام 11 سبتمبر 2023*
Node.js 14 التوفر العام 30 أبريل 2023*

*تم تمديد الدعم على الوظائف حتى 30 يونيو 2024.

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

يعرض الجدول التالي إصدار اللغة المعتمد لوظائف PowerShell. حدد لغة التطوير المفضلة لديك في أعلى المقالة.

إصدار مدعوم مستوى الدعم تاريخ EOL المجتمعي المتوقع
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)"
    }
}

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

الإصدارات المتوقفة

وصلت هذه الإصدارات من وقت تشغيل الوظائف إلى نهاية الدعم الموسع في 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 كإطار عمل هدف إذا كنت تستخدم نموذج العامل المعزول. إذا كنت تستخدم النموذج قيد المعالجة، يمكنك اختيار 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سينتهي الدعم للإصدار 1.x من وقت تشغيل Azure Functions في 14 سبتمبر 2026. نوصي بشدة بترحيل تطبيقاتك إلى الإصدار 4.x للحصول على الدعم الكامل.

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

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

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

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

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

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

الخطة الإعداد الافتراضي الحد الأقصى1
خطة الاستهلاك 5 10
خطة استهلاك Flex 30 غير محدود2
خطة متميزة 303 غير محدود3
خطة مخصصة 304 غير محدود3

1 بغض النظر عن إعداد مهلة تطبيق الوظائف، فإن 230 ثانية هي الحد الأقصى للوقت الذي يمكن أن تستغرقه وظيفة HTTP المشغلة للاستجابة لطلب. هذا بسبب مهلة الخمول الافتراضية ل Azure Load Balancer. لأوقات المعالجة الأطول، ضع في اعتبارك استخدام نمط Durable Functions غير المتزامن أو تأجيل العمل الفعلي وإرجاع استجابة فورية.
2 في خطة استهلاك Flex، لا يفرض المضيف حد وقت التنفيذ. ومع ذلك، لا توجد حاليا ضمانات لأن النظام الأساسي قد يحتاج إلى إنهاء مثيلاتك أثناء التوسع أو عمليات النشر أو لتطبيق التحديثات.
3 المهلة الافتراضية للإصدار 1.x من وقت تشغيل الوظائف غير محدودة.
4 مضمونة لمدة تصل إلى 60 دقيقة. لا يزال بإمكان تصحيح نظام التشغيل ووقت التشغيل، وتصحيح الثغرات الأمنية، وتوسيع نطاق السلوكيات إلغاء عمليات تنفيذ الوظائف، لذا تأكد من كتابة وظائف قوية.

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

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