إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
استخدم هذا الدليل لنقل Azure Functions التي تعمل على نموذج Functions v1 القديم إلى نموذج Functions v2 الموصى به على Azure Container Apps. تتعلم لماذا تنتقل إلى المرحلة، وما الذي يتغير، وكيف تنفذ الانتقال بأقل قدر من المخاطر.
يمكنك استضافة وظائف Azure في تطبيقات حاويات Azure باستخدام نموذجين للنشر:
Functions v1: نموذج وكيل قديم يستخدم تطبيق وظائف (
Microsoft.Webمزود موارد) بالإضافة إلى تطبيق حاوية خلف الكواليس.الدوال v2: نموذج أصلي ينشئ مورد واحد لتطبيق حاوية Azure (
Microsoft.App) باستخدامkind=functionapp.
عندما تنتقل إلى الإصدار الثاني، تبسط الإدارة، وتفتح الميزات الأصلية، وتتماشى مع خارطة الطريق المستقبلية لوظائف أزور.
مقارنة النماذج
| منطقة | V1 (الإرث) | v2 (موصى به) |
|---|---|---|
| نموذج الموارد | تطبيق وظائف الوكيل مع تطبيق حاوية مخفية | تطبيق الحاوية الأصلية الموحدة (kind=functionapp) |
| الميزات الأصلية (مراجعات، أسرار، مجسات صحية، نطاقات مخصصة، جانبيات) |
غير مدعوم | Supported |
| ضوابط التوسع (فترة التهدئة، فترة الاستطلاع) |
Limited | خيارات توسيع تطبيقات الحاوية الكاملة |
| تسجيل الدخول واستكشاف الأخطاء وإصلاحها | المباشر. لا يوجد جهاز تحكم مباشر | مباشر. يتضمن سجلات حية وتشخيصات |
| تكامل DAPR | مشكلة في بعض سيناريوهات .NET المعزولة | مدعوم بأنماط قياسية |
| المصادقة (التوثيق السهل) | غير متوفرة | متاح |
| الشهادات والنطاقات المخصصة | غير متوفرة | متاح |
| المقاييس والتنبيهات | أساسي | المقاييس والتنبيهات الأصلية الكاملة |
| خارطة الطريق المستقبلية (قائمة الوظائف، المفاتيح، عدد الاستدعاءات) |
غير مخطط له | المخطط |
| تعقيد التشغيل | إدارة الموارد المزدوجة | مورد واحد |
| موصى به للنشر الجديد | لا | نعم |
قيود الدوال v1
تعاني Functions v1 على تطبيقات حاويات Azure إلى عدة قيود تؤثر على قابلية التوسع، والإدارة، وتوفر الميزات. فهم هذه القيود يساعد في توضيح فوائد الانتقال إلى نموذج v2.
فجوات الميزات
الميزات التالية غير متوفرة لتطبيقات Functions v1:
- مصادقة سهلة
- تحقيقات الصحة
- إضافة مجالات مخصصة
- حاويات Sidecar
- الشهادات المدارة
- أسرار تطبيق الحاوية
- إعدادات المقياس الحبيبي
- تقسيم حركة المرور متعددة الإصدارات
قيود استكشاف الأخطاء وإصلاحها
مع تطبيقات Functions v1، لا يمكنك الوصول المباشر إلى الحاوية أو إخراج الكونسول في الوقت الحقيقي. بدلا من ذلك، تحتاج إلى استخدام تحليلات السجلات لتشخيص البنية التحتية وApplication Insights لسجلات التطبيقات.
مشاكل تكامل DAPR
يمكن أن تتعارض الدوال المعزولة ل Dapr و.NET أثناء البناء أو وقت التشغيل بسبب قيود ترتيب الاعتماد والتهيئة المحددة.
فوائد الوظائف v2
Functions v2 ينشئ مورد تطبيق حاوية أصلي مباشرة. هذا النهج يزيل التوجيه العشوائي للوكيل ويمكن من إمكانيات Azure Container Apps الكاملة.
المزايا الأساسية:
- تفعيل المصادقة السهلة لنقل الهوية.
- قم بتكوين أجهزة المسحوبات الصحية لتحسين المرونة.
- قم بتعيين نطاقات مخصصة واستخدم الشهادات المدارة.
- تقليل التكاليف التشغيلية باستخدام مورد واحد.
- قم بتخزين الأسرار بشكل أصلي وركب حاويات العربات الجانبية.
- احصل على مؤشرات أوضح، وتنبيهات، وبث مباشر للسجل.
- استخدم عمليات نشر متعددة التعديلات وقسم حركة المرور بأمان.
- تطبيق قواعد القياس الحبيبي (فترة الاستطلاع، فترة التهدئة).
ملاحظة
لا يلزم إجراء أية تغييرات في التعليمات البرمجية. يمكنك إعادة استخدام صورة الحاوية الموجودة لديك.
نشر الصورة المباشرة القديمة (غير مدعوم)
بعض عمليات النشر تستخدم تطبيق حاوية قياسي بدون kind=functionapp الحاجة وتقوم بتشغيل صورة الوظائف يدويا.
هام
هذا النهج غير مدعوم. يفتقر إلى قواعد القياس التلقائي ولا يحصل على ميزات منصة v2 القادمة مثل قائمة الوظائف، والمفاتيح، وعدد الاستدعاءات.
التوصيه: Migrate to Functions v2 on Azure Container Apps.
المتطلبات الأساسية
قبل الهجرة:
- اشتراك Azure وإذن لإنشاء الموارد.
- [Azure CLI](/cli/azure/install-azure-cli-windows?view=azure-cli-latest (update) install.
- الامتدادات المطلوبة:
az extension add --name containerapp،az extension add --name functionapp(إذا كان ذلك مناسبا). - الوصول إلى صورة الحاوية المستخدمة في نشر الإصدار الأول.
- جرد متغيرات البيئة، الأسرار، روابط التخزين، وإعدادات الشبكات.
إجراءات الهجرة
1. الاستعداد
- حدد أن نشرك الحالي هو تطبيق Functions v1.
- تصدير جميع بيانات التكوين بما في ذلك متغيرات البيئة، الأسرار، سلاسل الاتصال، والروابط المخصصة.
- راجع حصص البيئة (المعالج، الذاكرة، الحد الأقصى للمشاكل) وقم بتعديلها إذا لزم الأمر.
- تأكد من توفر الصور في قائمة الهدايا الخاصة بك.
2. إنشاء تطبيق v2
إنشاء أو إعادة استخدام بيئة Azure Container Apps.
نشر تطبيق حاوية v2 جديد بنفس الصورة.
az containerapp create \ --name my-func-v2 \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVRONMENT_NAME> \ --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \ --kind functionapp \ --ingress external --target-port <TARGET_PORT>أعد تطبيق تفاصيل التكوين بما في ذلك الأسرار، متغيرات البيئة، الهوية، الشبكات.
قم بتمكين المصادقة أو النطاق المخصص إذا لزم الأمر.
حدد قواعد التوسع (HTTP، وحدة المعالجة المركزية، ارتباط الزناد في الطابور حسب الحاجة).
3. التحقق من صحة
استدعي الوظائف التي تفعل بواسطة HTTP (مثل curl أو browser).
اختبر كل نوع من الزناد (مراكز الأحداث، ناقل الخدمة، المؤقت).
تأكيد سجلات بيانات بيانات Application Insights وتحليلات السجل.
تحقق من سلوك القياس تحت التحميل (القواعد التلقائية تعمل).
تحقق من الأسرار وأن سلاسل الاتصال تحل بشكل صحيح.
تأكد من حالة الفحص الصحي وتفاصيل مراجعة الحاوية.
4. تحديث DNS أو النطاقات المخصصة (اختياري)
إذا كنت تستخدم دوما مخصصا، قم بتعيينه إلى اسم المضيف v2 الجديد (سجل CNAME أو A).
أعد ربط شهادات SSL/TLS (مدارة أو مرفوعة).
اختبر دقة المجال ومصافحة TLS.
تواصل حول تغييرات نقاط النهاية داخليا.
5. الهجرة
نقل حركة حركة الإنتاج (تحديث DNS TTL أو قواعد التوجيه).
راقب زمن التأخير والأخطاء وعدد الاستدعاءات.
قم بضبط معايير التوسع إذا لزم الأمر (فترة التهدئة، الحد الأدنى/الحد الأقصى).
تتبع سجلات الشذوذات خلال الساعات الأولى.
6. التنظيف
أوقف تطبيق v1 Functions القديم والموارد ذات الصلة.
أنذر
تحقق من عدم وجود حركة إنتاج لا تزال تستهدف نقطة النهاية v1 قبل الحذف.
قم بإزالة الأسرار غير المستخدمة أو مراجع التخزين.
قم بتحديث الوثائق الداخلية ودفاتر التشغيل التشغيلية.
قائمة التحقق من الصحة
| عنصر | معايير النجاح |
|---|---|
| إطلاق المحفزات | جميع المشغلات المكونة تنفذ بنجاح |
| السجلات والقياس عن بعد | تظهر Application Insights الاستدعاءات؛ بث مباشر للسجلات |
| تغير الحجم | يتغير عدد المثيلات حسب تكوين القاعدة |
| المصادقة (إذا كانت مفعلة) | تعيد نقاط النهاية المحمية رموز الحالة المتوقعة |
| المجالات | النطاق المخصص يحل بشهادة صالحة |
| Secrets | القيم الحساسة تحمل بدون أخطاء |
التحسينات التشغيلية (اختياري)
تحسين الموثوقية بعد الترحيل: