مشاركة عبر


التغييرات والإرشادات ل Python 3.13+ في Azure Functions

توضح هذه المقالة تحديثات ميزات Python المهمة التي قدمتها Azure Functions بدءا من Python 3.13. تتضمن هذه التغييرات إدارة إصدار وقت التشغيل وتحسينات الأداء والعديد من الميزات التي تمت إزالتها.

التحكم في إصدار وقت تشغيل Python

بدءا من Python 3.13 ، تقدم Functions التحكم في إصدار وقت التشغيل ، وهي ميزة اشتراك جديدة تتيح لك استهداف إصدارات محددة من وقت تشغيل Functions Python الذي يستخدمه تطبيقك.

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

يمكنك تمكين التحكم في إصدار وقت التشغيل عن طريق إضافة مرجع إلى حزمة وقت تشغيل Python إلى ملف requirements.txt الخاص بك، حيث تحدد القيمة المعينة للحزمة إصدار وقت التشغيل المستخدم.

يعتمد المرجع المحدد الذي تضيفه فيrequirements.txt على نموذج برمجة Python الخاص بك ، والذي يمكن أن يكون إحدى هذه القيم:

إصدار النموذج اسم الحزمة
v2 azure-functions-runtime
v1 azure-functions-runtime-v1

يشير هذا الجدول إلى سلوك تعيين الإصدار استنادا إلى قيمة إصدار هذا الإعداد في ملف requirements.txt :

إصدار مثل سلوك
لا توجد قيمة محددة azure-functions-runtime يعمل تطبيق Python 3.13+ الخاص بك على أحدث إصدار متاح من وقت تشغيل Functions Python. هذا الخيار هو الأفضل للبقاء على اطلاع دائم بتحسينات النظام الأساسي وميزاته، نظرا لأن تطبيقك يتلقى تلقائيا آخر تحديثات وقت التشغيل المستقرة.
مثبتة على إصدار معين azure-functions-runtime==1.2.0 يظل تطبيق Python 3.13+ الخاص بك على إصدار وقت التشغيل المثبت ولا يتلقى تحديثات تلقائية. يجب عليك بدلا من ذلك تحديث الإصدار المثبت يدويا للاستفادة من الميزات والإصلاحات والتحسينات الجديدة في وقت التشغيل. يوصى بالتثبيت لأحمال عمل الإنتاج الهامة حيث يكون الاستقرار والقدرة على التنبؤ ضروريين. يتيح لك التثبيت أيضا اختبار تطبيقك على إصدارات وقت التشغيل التي تم إصدارها مسبقا أثناء التطوير.
لا يوجد مرجع للحزمة n/a من خلال عدم تعيين azure-functions-runtimeتطبيق Python 3.13+ الخاص بك على إصدار افتراضي من وقت تشغيل Python الذي يقع خلف أحدث إصدار تم إصداره. يتم إجراء التحديثات بشكل دوري بواسطة Functions. يضمن هذا الخيار الاستقرار والتوافق الواسع. ومع ذلك، يتأخر الوصول إلى أحدث الميزات والإصلاحات حتى يتم تحديث الإصدار الافتراضي.

ضع هذه الاعتبارات في الاعتبار عند استخدام التحكم في إصدار وقت التشغيل مع تطبيق Python 3.13+:

  • تجنب تثبيت أي تطبيق إنتاج على إصدارات وقت التشغيل التجريبية (ألفا أو بيتا أو مطور).
  • راجع ملاحظات إصدار وقت تشغيل Python بانتظام لتكون على دراية بالتغييرات التي يتم تطبيقها على وقت تشغيل Python لتطبيقك أو لتحديد وقت تحديث إصدار مثبت.

التغييرات والتحسينات الأخرى التي تم إدخالها في Python 3.13

يقدم Python 3.13 العديد من التحسينات على الوظائف التي تعمل على تحسين الأداء والموثوقية وتؤثر بطريقة أخرى على سلوكيات وقت التشغيل:

تم تمكين عزل التبعية الآن افتراضيا

يمكن لتطبيقاتك الآن الاستفادة من عزل التبعية الكامل، مما يعني أنه عندما يتضمن تطبيقك تبعية يستخدمها أيضا عامل Python، مثل azure-functions أو grpcio، يمكن لتطبيقك استخدام إصداره الخاص على الرغم من أن وقت تشغيل Python يستخدم إصدارا مختلفا داخليا.

يمنع هذا العزل تعارضات الإصدارات ويحسن التوافق مع الحزم المخصصة.

أداء محسن لبدء التشغيل على البارد

يوفر Python 3.13 انخفاضا قابلا للقياس في وقت البدء البارد مقارنة ب Python 3.11 ، مما يؤدي إلى بدء تشغيل التطبيق بشكل أسرع.

معالجة JSON أسرع مع Orjson الدعم

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

يمكن أن يوفر الاستخدام Orjson كلا من زمن انتقال أقل ومعدل نقل أعلى لأحمال العمل الثقيلة JSON، مثل استدعاءات واجهة برمجة تطبيقات HTTP ومعالجة الأحداث. لضمان التوافق مع الإصدارات السابقة، يتم استخدام المكتبة القياسية json عندما Orjson لا تكون متوفرة.

الاشتراك المبسط لدفق HTTP

  • تتوفر ميزة دفق HTTP الآن دون الحاجة إلى أي تغييرات على إعداد التطبيق أو التكوينات الأخرى. بينما لا يزال يتعين عليك الاشتراك على مستوى الوظيفة ، لم تعد بحاجة إلى إضافة الإعداد PYTHON_ENABLE_INIT_INDEXING لاستخدام الميزة.

تمت إزالة دعم الميزات في Python

لم تعد هذه الميزات مدعومة من قبل Functions عند استخدام Python 3.13 والإصدارات الأحدث:

  • ملحقات العامل: ملحقات العامل المخصصة غير متوافقة مع وقت تشغيل Python 3.13+. إذا كان تطبيقك يعتمد على هذه الإضافات، يجب إعادة التقييم أو الانتقال إلى استخدام البدائل المتوافقة.
  • الذاكرة المشتركة: ميزة الذاكرة المشتركة المستخدمة لتحسين الحمولة الكبيرة غير متوفرة بدءا من Python 3.13. بشكل افتراضي، تستخدم جميع الاتصالات الآن المراسلة المستندة إلى gRPC.

مقالات لها صلة