يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
إدارة تطبيق الوظائف الخاص بك
مقالة
٠٩/٠٥/١٤٤٦ هـ
في Azure Functions، يوفر تطبيق الوظائف سياق التنفيذ للوظائف الفردية الخاصة بك. تنطبق سلوكيات تطبيق الوظيفة على جميع الوظائف التي يستضيفها تطبيق وظائف معين. يجب أن تكون جميع الوظائف الموجودة في تطبيق وظائف ما بنفس اللغة.
يتم نشر الوظائف الفردية في تطبيق وظائف ما معًا ويتم تغيير سعتها معًا. تشترك جميع الوظائف الموجودة في تطبيق الوظائف نفسه في نفس الموارد، لكل مثيل، بينما يتم تغيير سعة تطبيق الوظيفة.
يتم تحديد سلاسل الاتصال ومتغيرات البيئة والإعدادات الأخرى للتطبيق بشكل منفصل لكل تطبيق وظائف. يجب تخزين أي بيانات يجب مشاركتها بين تطبيقات الوظائف خارجيًا في مخزن مستمر.
بدء تشغيل مدخل Microsoft Azure
ملاحظة
بسبب القيود المفروضة على تحرير التعليمات البرمجية للدالة في مدخل Microsoft Azure، يجب عليك تطوير وظائفك محليا ونشر مشروع التعليمات البرمجية إلى تطبيق دالة في Azure. لمزيد من المعلومات، راجع قيود التطوير في مدخل Microsoft Azure
لعرض إعدادات التطبيق في تطبيق الوظائف، اتبع الخطوات التالية:
تسجيل الدخول إلى مدخل Microsoft Azure باستخدام حساب Azure الخاص بك. ابحث عن تطبيق الوظائف وحدده.
في الجزء الأيمن من تطبيق الوظائف، قم بتوسيع الإعدادات، وحدد متغيرات البيئة، ثم حدد علامة التبويب إعدادات التطبيق.
العمل باستخدام إعدادات التطبيق
بالإضافة إلى إعدادات التطبيق المعرفة مسبقا التي تستخدمها Azure Functions، يمكنك إنشاء أي عدد من إعدادات التطبيق، كما هو مطلوب من قبل التعليمات البرمجية للدالة. لمزيد من المعلومات، راجع مرجع إعدادات التطبيق لدالات Azure.
يتم تخزين هذه الإعدادات بهيئة مشفرة. لمزيد من المعلومات، راجع أمان إعدادات التطبيق.
az functionapp config appsettings list --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME>
az functionapp config appsettings setالأمر بإضافة أو تحديث إعداد تطبيق. ينشئ المثال التالي إعدادًا باستخدام مفتاح مسمى CUSTOM_FUNCTION_APP_SETTINGوقيمة 12345:
az functionapp config appsettings set --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--settings CUSTOM_FUNCTION_APP_SETTING=12345
يمكن أيضًا قراءة قيم إعدادات تطبيق الدالة في التعليمات البرمجية كمتغيرات البيئة. لمزيد من المعلومات، راجع قسم متغيرات البيئة في هذه المقالات المرجعية الخاصة باللغة:
عند تطوير تطبيق دالة محليا، يجب الاحتفاظ بنسخ محلية من هذه القيم في ملف مشروع local.settings.json . لمزيد من المعلومات، راجع ملف الإعدادات المحلية.
إعدادات نشر FTPS
تدعم Azure Functions نشر التعليمات البرمجية للمشروع إلى تطبيق الوظائف باستخدام FTPS. نظرا لأن أسلوب النشر هذا يتطلب منك مزامنة المشغلات، فلا يوصى به. لنقل ملفات المشروع بأمان، استخدم دائما FTPS وليس FTP.
للحصول على بيانات الاعتماد المطلوبة لنشر FTPS، استخدم إحدى الطرق التالية:
يمكنك الحصول على بيانات اعتماد نشر FTPS في مدخل Microsoft Azure عن طريق تنزيل ملف تعريف النشر لتطبيق الوظائف الخاص بك.
هام
يحتوي ملف تعريف النشر على بيانات اعتماد أمان مهمة. قم دائما بتأمين الملف الذي تم تنزيله على الكمبيوتر المحلي.
لتنزيل ملف تعريف النشر لتطبيق الوظائف الخاص بك:
في مدخل Microsoft Azure، حدد موقع صفحة تطبيق الوظائف، وقم بتوسيع Settings>Configuration في العمود الأيسر.
في صفحة التكوين، حدد علامة التبويب الإعدادات العامة وتأكد من تشغيل بيانات اعتماد نشر المصادقة الأساسية ل SCM. عندما يكون هذا الإعداد قيد إيقاف التشغيل، لا يمكنك استخدام ملفات تعريف النشر، لذا حدد تشغيل ثم حفظ.
ارجع إلى صفحة نظرة عامة على تطبيق الوظائف، ثم حدد الحصول على ملف تعريف النشر.
قم بحفظ محتويات الملف ونسخها.
في الملف، حدد موقع publishProfile العنصر مع السمة publishMethod="FTP". في هذا العنصر، publishUrluserNameتحتوي السمات و و userPWD على عنوان URL الهدف وبيانات الاعتماد لنشر FTPS.
قم بتشغيل أمر Azure CLI هذا الذي يقوم بإرجاع بيانات اعتماد FTPS من ملف تعريف النشر.
في هذا المثال، استبدل <APP_NAME> باسم تطبيق الوظائف و <GROUP_NAME> بمجموعة الموارد. تحتوي الأعمدة التي تم URLusernameإرجاعها و و على password عنوان URL الهدف وبيانات الاعتماد لنشر FTPS.
قم بتشغيل أمر Azure PowerShell هذا الذي يقوم بإرجاع بيانات اعتماد FTPS من ملف تعريف النشر.
في هذا المثال، استبدل <APP_NAME> باسم تطبيق الوظائف و <GROUP_NAME> بمجموعة الموارد. تحتوي الأعمدة التي تم URLusernameإرجاعها و و على password عنوان URL الهدف وبيانات الاعتماد لنشر FTPS.
نوع خطة الاستضافة
عند إنشاء تطبيق وظيفة، فإنك تقوم أيضا بإنشاء خطة استضافة يعمل التطبيق تبعًا لها. يمكن أن تحتوي خطة ما على تطبيق أو أكثر من تطبيقات الوظائف. تعتمد الوظائف، والتحجيم، والأسعار على نوع الخطة. لمزيد من المعلومات، راجع خيارات الاستضافة في دالات Azure.
يمكنك تحديد نوع الخطة المستخدمة من قِبل تطبيق الوظائف الخاص بك من مدخل Microsoft Azure، أو باستخدام واجهات سطر الأوامر من Azure أو واجهات برمجة التطبيقات Azure PowerShell.
استخدم الإجراء التالي للترحيل من خطة Consumption إلى خطة Premium على Windows:
قم بتشغيل الأمر az functionapp create كما يلي لإنشاء خطة App Service جديدة (Elastic Premium) في نفس المنطقة ومجموعة الموارد مثل تطبيق الوظائف الحالي:
az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
قم بتشغيل الأمر az functionapp update كما يلي لترحيل تطبيق الوظيفة الحالي إلى خطة Premium الجديدة:
az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
عندما لم تعد بحاجة إلى خطة الاستهلاك المستخدمة في الأصل من قبل التطبيق، احذف خطتك الأصلية بعد التأكد من أنك قمت بالترحيل بنجاح إلى الخطة الجديدة. قم بتشغيل الأمر az functionapp plan list على النحو التالي للحصول على قائمة بجميع خطط الاستهلاك في مجموعة الموارد الخاصة بك:
az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
يمكنك حذف الخطة بأمان باستخدام المواقع الصفرية، وهي المواقع التي قمت بالترحيل منها.
az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
استخدم الإجراء التالي للترحيل من خطة Premium إلى خطة Consumption على Windows:
قم بتشغيل الأمر az functionapp create كما يلي لإنشاء تطبيق دالة جديد (Consumption) في نفس المنطقة ومجموعة الموارد مثل تطبيق الوظائف الحالي. ينشئ هذا الأمر أيضا خطة استهلاك جديدة يتم فيها تشغيل تطبيق الوظائف:
az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
قم بتشغيل الأمر az functionapp delete كما يلي لحذف تطبيق الوظائف الذي أنشأته في الخطوة 1، حيث تحتاج فقط إلى الخطة التي تم إنشاؤها لتشغيل تطبيق الوظائف الحالي:
az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
عندما لم تعد بحاجة إلى خطة Premium المستخدمة في الأصل من قبل التطبيق، احذف خطتك الأصلية بعد التأكد من أنك قمت بالترحيل بنجاح إلى الخطة الجديدة. حتى يتم حذف الخطة المميزة، يستمر تحصيل الرسوم منك.
قم بتشغيل الأمر az functionapp plan list كما يلي للحصول على قائمة بجميع خطط Premium في مجموعة الموارد الخاصة بك:
az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
عندما لم تعد بحاجة إلى خطة الاستهلاك المستخدمة في الأصل من قبل التطبيق، يمكنك تشغيل الأمر Remove-AzFunctionAppPlan كما يلي لحذف خطة الاستهلاك التي قمت بالترحيل منها:
استخدم الإجراء التالي للترحيل من خطة Premium إلى خطة Consumption على Windows:
قم بتشغيل الأمر New-AzFunctionApp كما يلي لإنشاء تطبيق وظائف جديد (الاستهلاك) في نفس المنطقة ومجموعة الموارد مثل تطبيق الوظائف الحالي. ينشئ هذا الأمر أيضا خطة استهلاك جديدة يتم فيها تشغيل تطبيق الوظائف:
عندما لم تعد بحاجة إلى خطة الاستهلاك المستخدمة في الأصل من قبل التطبيق، يمكنك تشغيل الأمر Remove-AzFunctionAppPlan كما يلي لحذف خطة الاستهلاك التي قمت بالترحيل منها:
يعرض الجدول التالي أنظمة التشغيل واللغات التي تدعم التحرير في المدخل:
اللغة
استهلاك Windows
Windows Premium
الـ Windows المخصص
استهلاك Linux
Linux Premium
الـ Linux المخصص
C#
Java
JavaScript (Node.js)
✔
✔
✔
✔
✔
Python
✔
✔
✔
PowerShell
✔
✔
✔
TypeScript (Node.js)
ضع في اعتبارك هذه القيود عند تطوير وظائفك في مدخل Microsoft Azure:
يتم دعم التحرير في المدخل فقط للوظائف التي تم إنشاؤها أو آخر تعديل في مدخل Microsoft Azure.
يتم دعم التحرير في المدخل فقط لوظائف JavaScript وPowerShell وPython وC# Script.
التحرير في المدخل غير مدعوم حاليا من قبل خطة Flex Consumption.
عند نشر التعليمات البرمجية إلى تطبيق دالة من خارج مدخل Microsoft Azure، لم يعد بإمكانك تحرير أي من التعليمات البرمجية لتطبيق الوظائف هذا في المدخل. في هذه الحالة، ما عليك سوى الاستمرار في استخدام التطوير المحلي.
بالنسبة إلى Python، التطوير باستخدام الوحدات النمطية المخصصة غير مدعوم حاليا في المدخل. لإضافة وحدات نمطية مخصصة إلى تطبيق الوظائف، يجب عليك تطوير تطبيقك محليا.
بالنسبة إلى وظائف C# المحولة برمجيا ووظائف Java، يمكنك إنشاء تطبيق الوظائف والموارد ذات الصلة في المدخل. ومع ذلك، يجب إنشاء مشروع التعليمات البرمجية للوظائف محليا ثم نشره إلى Azure.
يمكن أن تتضمن دوال مكتبة الفئة C# حزم NuGet لملحقات الربط مباشرة في مشروع مكتبة الفئة. بالنسبة للغات non-.NET الأخرى والبرنامج النصي C#، يجب استخدام حزم الملحقات. إذا كان يجب تثبيت الملحقات يدويا، يمكنك القيام بذلك باستخدام Azure Functions Core Tools محليا. إذا لم تتمكن من استخدام حزم الملحقات وكنت قادرا فقط على العمل في المدخل، فأنت بحاجة إلى استخدام أدوات متقدمة (Kudu) لإنشاء ملف extensions.csproj يدويا مباشرة في الموقع. تأكد أولا من إزالة extensionBundle العنصر من ملف host.json .
تعمل هذه العملية نفسها مع أي ملف آخر تحتاج إلى إضافته إلى تطبيقك.
يتيح لك محرر الوظائف المضمن في مدخل Microsoft Azure تحديث التعليمات البرمجية للدالة وملفات التكوين مباشرة في المدخل:
حدد تطبيق الوظائف، ثم ضمن Functions، حدد Functions.
اختر دالتك وحدد اختبار + تعليمة برمجية ضمن مطور.
اختر الملف لتحريره وحدد حفظ عند الانتهاء.
يجب إنشاء الملفات الموجودة في جذر التطبيق، مثل function.proj أو extensions.csproj وتحريرها باستخدام Advanced Tools (Kudu):
حدد تطبيق الوظائف، وقم بتوسيع أدوات التطوير، ثم حدد أدوات متقدمة>Go.
إذا طلب منك ذلك، فسجل الدخول إلى موقع إدارة التحكم بالمصادر (SCM) باستخدام بيانات اعتماد Azure.
من قائمة وحدة تحكم تتبع الأخطاء، اختر CMD.
انتقل إلى .\site\wwwroot، وحدد زر زائد (+) في الأعلى، وحدد ملف جديد.
امنح الملف اسما، مثل extensions.csproj، ثم اضغط على مفتاح الإدخال Enter.
حدد زر التحرير بجوار الملف الجديد، وأضف التعليمات البرمجية أو حدثها في الملف، ثم حدد حفظ.
بالنسبة لملف مشروع مثل extensions.csproj، قم بتشغيل الأمر التالي لإعادة إنشاء مشروع الملحقات:
dotnet build extensions.csproj
ميزات النظام الأساسي
تعمل تطبيقات الوظائف في النظام الأساسي ل Azure App Service، والذي يحافظ عليها. على هذا النحو، تتمتع تطبيقات الوظائف الخاصة بك بالوصول إلى معظم ميزات النظام الأساسي لاستضافة الويب الأساسي في Azure. عند استخدام مدخل Microsoft Azure، فإن الجزء الأيمن هو المكان الذي يمكنك فيه الوصول إلى العديد من ميزات النظام الأساسي ل App Service التي يمكنك استخدامها في تطبيقات الوظائف.
تشير المصفوفة التالية إلى دعم ميزة مدخل Microsoft Azure من خلال خطة الاستضافة ونظام التشغيل:
محرر App Service هو محرر متقدم داخل المدخل يمكنك استخدامه لتعديل ملفات تكوين JSON وملفات التعليمات البرمجية على حدٍ سواء. يؤدي اختيار هذا الخيار إلى تشغيل علامة تبويب مستعرض منفصلة تحتوي على محرر أساسي. يمكنك هذا المحرر من التكامل مع مستودع Git وتشغيل التعليمات البرمجية وتصحيحها وتعديل إعدادات تطبيق الوظائف. يوفر هذا المحرر بيئة تطوير محسنة للوظائف الخاصة بك مقارنة مع محرر الوظائف المضمن.
نوصيك بالتفكير في تطوير وظائفك على الكمبيوتر المحلي الخاص بك. عند التطوير محليا والنشر إلى Azure، تكون ملفات المشروع للقراءة فقط في مدخل Microsoft Azure. وللحصول على مزيد من المعلومات، انظر التعليمات البرمجية لخدمة وظائف Azure Functions واختبارها محليًا.
وحدة تحكم
وحدة التحكم داخل المدخل هي أداة مطور مثالية عندما تفضل التفاعل مع تطبيق الوظائف الخاص بك من سطر الأوامر. تتضمن الأوامر الشائعة إنشاء الدليل والملف والتنقل، بالإضافة إلى تنفيذ ملفات الدفعات والبرامج النصية.
توفر الأدوات المتقدمة الخاصة بـ App Service (المعروفة أيضًا باسم Kudu) الوصول إلى الميزات الإدارية المتقدمة لتطبيق الوظائف الخاص بك. من Kudu، يمكنك إدارة معلومات النظام، إعدادات التطبيق، متغيرات البيئة، ملحقات الموقع، عناوين HTTP، ومتغيرات الخادم. يمكنك أيضا تشغيل Kudu عن طريق الاستعراض إلى نقطة نهاية SCM لتطبيق الوظائف الخاص بك، على سبيل المثال: https://<myfunctionapp>.scm.azurewebsites.net/.
مركز التوزيع
عند استخدام حل عنصر تحكم بالتعليمات البرمجية المصدر لتطوير التعليمات البرمجية للوظائف والاحتفاظ بها، يتيح لك مركز النشر إجراء الإنشاء والنشر من عنصر التحكم بالتعليمات البرمجية المصدر. يتم إنشاء المشروع ونشره إلى Azure عند إجراء التحديثات. للحصول على مزيدٍ من المعلومات، راجع تقنيات النشر في Azure Functions.
مشاركة الموارد عبر المنشأ
لمنع تنفيذ التعليمات البرمجية الضارة على العميل، تمنع المستعرضات الحديثة الطلبات الواردة من تطبيقات الويب إلى الموارد التي تعمل في مجال منفصل. تتيح مشاركة الموارد عبر المنشأ (CORS)Access-Control-Allow-Origin لعنوان ما الإعلان عن أي الأصول المسموح لها باستدعاء نقاط النهاية على تطبيق الوظائف الخاص بك.
عند تكوين قائمة الأصول المسموح بها لتطبيق الوظائف الخاص بك، تتم إضافة العنوان Access-Control-Allow-Origin تلقائيًا إلى كافة الاستجابات من نقاط نهاية HTTP في تطبيق الوظائف الخاص بك.
إذا كان هناك إدخال مجال آخر، يتم تجاهل حرف البدل (*).
استخدم الأمر az functionapp cors add لإضافة مجال إلى قائمة الأصول المسموح بها. يضيف المثال التالي المجال contoso.com:
az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com
لا يمكنك حاليا تحديث إعدادات CORS باستخدام Azure PowerShell.
المصادقة
عندما تستخدم الوظائف مشغل HTTP، يمكنك طلب أن تتم مصادقة الاستدعاءات أولاً. تدعم App Service مصادقة Microsoft Entra وتسجيل الدخول مع موفري الخدمات الاجتماعية، مثل Facebook وMicrosoft وX. للحصول على معلومات حول تكوين موفري مصادقة محددين، راجع نظرة عامة على مصادقة Azure App Service.
انشر تطبيق Angular، أو React، أو Svelte، أو Vue JavaScript مع واجهة برمجة التطبيقات والمصادقة باستخدام Azure Static Web Apps وAzure Functions. نشر التعليمات البرمجية من GitHub إلى موقع مرحلي باستخدام عناوين URL للمعاينة.
Build end-to-end solutions in Microsoft Azure to create Azure Functions, implement and manage web apps, develop solutions utilizing Azure storage, and more.