التشغيل السريع: نشر تطبيق ويب Python (Django أو Flask أو FastAPI) على Azure App Service
مقالة
إشعار
بدءا من 1 يونيو 2024، سيكون لجميع تطبيقات App Service التي تم إنشاؤها حديثا خيار إنشاء اسم مضيف افتراضي فريد باستخدام اصطلاح <app-name>-<random-hash>.<region>.azurewebsites.netالتسمية . ستظل أسماء التطبيقات الحالية دون تغيير.
في هذا التشغيل السريع، يمكنك نشر تطبيق ويب Python (Django أو Flask أو FastAPI) إلى Azure App Service. Azure App Service هي خدمة استضافة ويب مدارة بالكامل تدعم تطبيقات Python المستضافة في بيئة خادم Linux.
تحتوي هذه المقالة على إرشادات حالية حول نشر تطبيق ويب Python باستخدام Azure App Service. لم يعد Python على Windows مدعومًا.
عينات التطبيقات
يمكن إكمال هذا التشغيل السريع باستخدام إما Flask أو Django أو FastAPI. يتم توفير نموذج تطبيق في كل إطار عمل لمساعدتك على المتابعة مع هذا التشغيل السريع. قم بتنزيل أو استنساخ نموذج التطبيق إلى محطة العمل المحلية الخاصة بك.
لاستضافة التطبيق الخاص بك في Azure، تحتاج إلى إنشاء تطبيق ويب Azure App Service في Azure. يمكنك إنشاء تطبيق ويب باستخدام Azure CLI أو VS Code أو حزمة ملحق Azure Tools أو مدخل Microsoft Azure.
تحتوي واجهة سطر الأوامر في Azure على أمر az webapp up ينشئ الموارد اللازمة ويوزع تطبيقك في خطوة واحدة.
إذا لزم الأمر، قم بتسجيل الدخول إلى Azure باستخدام az login.
az login
أنشئ تطبيق الويب والموارد الأخرى، ثم انشر التعليمات البرمجية الخاصة بك إلى Azure باستخدام az webapp up.
az webapp up --runtime PYTHON:3.9 --sku B1 --logs
تحدد المعلمة --runtime إصدار Python الذي يعمل عليه تطبيقك. يـستخدم هذا المثال Python 3.9. لسرد جميع أوقات التشغيل المُتوفرة، استخدم الأمر az webapp list-runtimes --os linux --output table.
تحدد المعلمة --sku الحجم (وحدة المعالجة المركزية والذاكرة) وتكلفة خطة خدمة التطبيق. يستخدم هذا المثال خطة خدمة B1 (الأساسية)، والتي سوف تتحمل تكلفة صغيرة في اشتراك Azure الخاص بك. للحصول على قائمة كاملة بخطط App Service، اعرض صفحة تسعير App Service.
تقوم العلامة --logs بتكوين التسجيل الافتراضي المطلوب لتمكين عرض دفق السجل مباشرة بعد تشغيل تطبيق الويب.
يمكنك اختياريًا تحديد اسم باستخدام الوسيطة --name <app-name>. إذا لم توفر اسمًا، فسوف يُنشأ اسم تلقائيًا.
يمكنك تضمين اختياريا حجة --location <location-name>حيث<location_name> هو المنطقة Azure المتاحة. يمكنك استرداد قائمة المناطق المسموح بها لحساب Azure الخاص بك عن طريق تشغيل الأمر az appservice list-locations.
قد يستغرق الأمر بضع دقائق حتى يكتمل. في أثناء تشغيل الأمر، فإنه يوفر رسائل حول إنشاء مجموعة الموارد وخطة App Service ومورد التطبيق وتكوين التسجيل والقيام بنشر ZIP. ثم يعطي الرسالة، "يمكنك تشغيل التطبيق على http://<app-name>.azurewebsites.net"، وهو عنوان URL للتطبيق على Azure.
The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir /home/cephas/myExpressApp ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
"URL": "http://<app-name>.azurewebsites.net",
"appserviceplan": "<app-service-plan-name>",
"location": "centralus",
"name": "<app-name>",
"os": "<os-type>",
"resourcegroup": "<group-name>",
"runtime_version": "python|3.9",
"runtime_version_detected": "0.0",
"sku": "FREE",
"src_path": "<your-folder-location>"
}
قم بتخزين المعلمات مؤقتًا محليًا في ملف .azure/config بحيث لا تحتاج إلى تحديدها مرة أخرى عند النشر لاحقًا باستخدام az webapp up أو أوامر az webapp الأخرى من مجلد المشروع. يتم استخدام القيم المخزنة مؤقتاً تلقائياً بشكل افتراضي.
لإنشاء موارد Azure في VS Code، يجب أن يكون لديك حزمة ملحق أدوات Azure مُثبتة وأن يتم تسجيل الدخول إلى Azure من VS Code.
حدد موقع أيقونة Azure في شريط الأدوات الأيمن. حددها لإظهار ملحق Azure Tools لـ VS Code.
إذا لم تجد أيقونة Azure Tools، فتأكد من تثبيت ملحق Azure Tools لـ VS Code.
في ملحق Azure Tools ل VS Code:
ابحث عن قسم الموارد وحدد اشتراكك.
حدد + (إنشاء مورد...)
اختر الخيار إنشاء تطبيق ويب App Service....
أدخل اسم msdocs-python-webapp-quickstart-XYZ لتطبيق الويب هذا، حيث XYZ هو أي ثلاثة أحرف فريدة.
عند النشر، يتم استخدام هذا الاسم كاسم تطبيقك في النموذج https://<app-name>.azurewebsites.net.
حَدد مكدس وقت التشغيل للتطبيق. في هذا المثال، حدد Python 3.9.
حدد خطة App Service (طبقة الأسعار) لتطبيق الويب هذا. تتحكم خطة App Service في عدد الموارد (CPU/الذاكرة) المتوفرة لتطبيقك ومقدار ما تدفعه.
في هذا المثال، حدد طبقة الأسعار الأساسية (B1). ستتحمل هذه الخطة رسومًا بسيطة مقابل اشتراك Azure الخاص بك، ولكن يوصى بها للحصول على أداء أفضل من الطبقة المجانية (F1).
حدد الزر نشر في إشعار «إنشاء تطبيق ويب جديد».
حدد مجلد التشغيل السريع الذي تعمل فيه باعتباره المجلد الذي تريد نشره.
حدد نعم لتحديث تكوين الإنشاء وتحسين أداء النشر.
عند اكتمال النشر، سيظهر إعلام في الزاوية السفلية اليمنى من VS Code. يمكنك استخدام هذا الإعلام للاستعراض وصولاً إلى تطبيق الويب الخاص بك.
سجّل الدخول إلى مدخل Azure واتبع هذه الخطوات لإنشاء مورد Azure App Service.
الإرشادات
لقطة شاشة
في مدخل Microsoft Azure:
أدخل خدمات التطبيقات في شـريط البحث في أعلى مدخل Microsoft Azure.
حدد العنصر المسمى App Services ضمن العنوان Services في القائمة التي تظهر أسفل شريط البحث.
في صفحة App Services ، حدد + Create، ثم حدد + Web App من القائمة المنسدلة.
في صفحة إنشاء تطبيق ويب، املأ النموذج كما يلي.
مجموعة الموارد → حدد إنشاء جديد واستخدم اسم msdocs-python-webapp-quickstart.
الاسم → msdocs-python-webapp-quickstart-XYZ حيث XYZ هي أي ثلاثة أحرف عشوائية. يجب أن يكون هذا الاسم فريدا عبر Azure.
مكدس وقت التشغيل → Python 3.9.
المنطقة → أي منطقة Azure قريبة منك.
خطة خدمة التطبيقات → ضمن خطة التسعير، حدد استكشاف خطط التسعير لتحديد خطة App Service مختلفة.
تتحكم خطة App Service في مقدار الموارد (وحدة المعالجة المركزية/الذاكرة) المتوفرة لتطبيقك وتكلفة هذه الموارد.
على سبيل المثال، ضمن Dev/Test، حدد خطة Basic B1 . ستتحمل خطة B1 الأساسية رسوما صغيرة على حساب Azure الخاص بك ولكن يوصى بها للحصول على أداء أفضل عبر خطة F1 المجانية.
عند الانتهاء، حدد تحديد لتطبيق التغييرات.
في صفحة إنشاء تطبيق الويب الرئيسية، حدد مراجعة + إنشاء في الجزء السفلي من الشاشة.
سوف ينقلك هذا إلى صفحة المراجعة. حَدد إنشاء لإنشاء مورد App Service خاصتك.
تدعم Azure App Service أساليب متعددة لنشر التعليمات البرمجية للتطبيق الخاص بك إلى Azure، بما في ذلك إجراءات GitHub وجميع أدوات CI/CD الرئيسية. تركز هذه المقالة على كيفية نشر التعليمات البرمجية من محطة العمل المَحلية إلى Azure.
az webapp up نظرا لأن الأمر أنشأ الموارد الضرورية ووزع التطبيق الخاص بك في خطوة واحدة، يمكنك الانتقال إلى الخطوة التالية.
نظرا لأن الخطوة السابقة أنشأت الموارد الضرورية ونشرت تطبيقك في خطوة واحدة، يمكنك الانتقال إلى الخطوة التالية.
يمكنك نشر التعليمات البرمجية للتطبيق الخاص بك من مستودع Git محلي إلى Azure عن طريق تكوين جهاز التحكم عن بعد Git في المستودع المحلي الذي يشير إلى المستودع الذي تريد دفع التعليمات البرمجية إليه. يمكن استرداد عنوان URL للمستودع البعيد وبيانات اعتماد Git المطلوبة للتكوين باستخدام مدخل Microsoft Azure أو Azure CLI.
أدخل اسم خدمة التطبيقات في مربع البحث أعلى الشاشة.
ضمن عنوان الموارد، حدد App Service للانتقال إليها.
في صفحة App Service:
حـدد Deployment Center من القائمة الموجودة على الجانب الأيمن من الشاشة.
حدد Git المحلي في القائمة المنسدلة المسماة المصدر.
حدد حفظ.
بعد حفظ الصفحة، سيتم تحديث وعرض عنوان مستودع Git البعيد.
انسخ قيمة Git Clone Uri حيث سوف يتم استخدام هذه القيمة لإعداد Git remote في خطوة لاحقة.
في صفحة Deployment Center :
انتقل إلى علامة التبويب بيانات اعتماد Git/FTPS المحلية.
حدد موقع اسم مستخدم وكلمة مرور git المحليين ضمن بيانات اعتماد نطاق التطبيق.
احتفظ بهذه الشاشة مفتوحة حتى تتمكن من نسخ بيانات الاعتماد هذه بشكل مؤقت عند توزيع التعليمات البرمجية الخاصة بك إلى المستودع البعيد. تأكد من نسخ اسم مستخدم git المحلي، الذي يبدأ ب $، على سبيل المثال $msdocs-python-webapp-quickstart-123.
عند دفع التعليمات البرمجية إلى مُستودع Git البعيد للمرة الأولى، تكون بيانات الاعتماد هذه مطلوبة للمصادقة على المستودع البعيد.
بعد ذلك، في الدليل الجذر للتطبيق الخاص بك، قم بتكوين Git remote الذي يـشير إلى Azure باستخدام عنوان URL Git الخاص ب Azure البعيد الذي تم الحصول عليه في خطوة سابقة.
git remote add azure <git-deployment-url>
يمكنك الآن دفع التعليمات البرمجية من مستودع Git المحلي إلى Azure باستخدام مستودع Git البعيد الذي قمت بتكوينه للتو. فرع النشر الافتراضي ل App Service هو master، ولكن العديد من مستودعات Git تتحرك بعيدا master عن واستخدام main. يمكنك إما تحديد التعيين من اسم الفرع المحلي إلى اسم الفرع البعيد في الدفع (كما هو موضح أدناه)، أو يمكنك تكوين إعداد التطبيق.DEPLOYMENT_BRANCH
git push azure main:master
في المرة الأولى التي تدفع فيها التعليمات البرمجية إلى Azure، سيطالبك Git ببيانات اعتماد توزيع Azure التي حصلت عليها في الخطوة السابقة. سيقوم Git بعد ذلك بلتخزين المؤقت لبيانات الاعتماد هذه حتى لا تضطر إلى إعادة إدخالها في عمليات النشر اللاحقة.
أولاً، قم بتكوين مصدر النشر لتطبيق الويب الخاص بك ليكون Git محلي باستخدام الأمر az webapp deployment source. سيقوم هذا الأمر بإخراج عنوان URL لمستودع Git البعيد الذي ستدفع التعليمات البرمجية إليه. قم بعمل نسخة من هذه القيمة كما ستحتاج إليها في خطوة لاحقة.
# Change these values to the ones used to create the App Service.
RESOURCE_GROUP_NAME='msdocs-python-webapp-quickstart'
APP_SERVICE_NAME='msdocs-python-webapp-quickstart-123'
az webapp deployment source config-local-git \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--output tsv
# Change these values to the ones used to create the App Service.
$RESOURCE_GROUP_NAME='msdocs-python-webapp-quickstart'
$APP_SERVICE_NAME='msdocs-python-webapp-quickstart-123'
az webapp deployment source config-local-git `
--name $APP_SERVICE_NAME `
--resource-group $RESOURCE_GROUP_NAME `
--output tsv
استرداد بيانات اعتماد التوزيع للتطبيق الخاص بك. سيحتاج Git إلى هذه للمصادقة على Azure عند دفع التعليمات البرمجية إلى Azure في خطوة لاحقة.
بعد ذلك، في الدليل الجذر للتطبيق الخاص بك، قم بتكوين Git remote الذي يـشير إلى Azure باستخدام عنوان URL Git الخاص ب Azure البعيد الذي تم الحصول عليه في خطوة سابقة.
git remote add azure <git-deployment-url>
يمكنك الآن دفع التعليمات البرمجية من مستودع Git المحلي إلى Azure باستخدام مستودع Git البعيد الذي قمت بتكوينه للتو. فرع النشر الافتراضي ل App Service هو master، ولكن العديد من مستودعات Git تتحرك بعيدا master عن واستخدام main. يمكنك إما تحديد التعيين من اسم الفرع المحلي إلى اسم الفرع البعيد في الدفع (كما هو موضح أدناه)، أو يمكنك تكوين إعداد التطبيق.DEPLOYMENT_BRANCH
git push azure main:master
في المرة الأولى التي تدفع فيها التعليمات البرمجية إلى Azure، سوف يطالبك Git ببيانات اعتماد توزيع Azure التي حصلت عليها في خطوة سابقة. سيقوم Git بعد ذلك بلتخزين المؤقت لبيانات الاعتماد هذه حتى لا تضطر إلى إعادة إدخالها في عمليات النشر اللاحقة.
يمكن توزيع التطبيقات إلى Azure عن طريق إنشاء ملف ZIP من التعليمات البرمجية للتطبيق وتحميله إلى Azure. يمكن تحميل ملفات ZIP إلى Azure باستخدام Azure CLI أو عميل HTTP مثل cURL.
تمكين أتـمتة الإنشاء
عند نشر ملف ZIP للتعليمات البرمجية لـ Python، تحتاج إلى تعيين علامة لتمكين أتمتة إنشاء Azure. سوف تقوم أتمتة البناء بتثبيت أي متطلبات ضرورية وحزم التطبيق للتشغيل على Azure.
يتم تمكين أتمتة الإنشاء في Azure عن طريق تعيين SCM_DO_BUILD_DURING_DEPLOYMENT إعداد التطبيق إما في مدخل Microsoft Azure أو Azure CLI.
# Change these values to the ones used to create the App Service.
RESOURCE_GROUP_NAME='msdocs-python-webapp-quickstart'
APP_SERVICE_NAME='msdocs-python-webapp-quickstart-123'
az webapp config appsettings set \
--resource-group $RESOURCE_GROUP_NAME \
--name $APP_SERVICE_NAME \
--settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
# Change these values to the ones used to create the App Service.
$resourceGroupName='msdocs-python-webapp-quickstart'
$appServiceName='msdocs-python-webapp-quickstart-123'
az webapp config appsettings set `
--resource-group $resourceGroupName `
--name $appServiceName `
--settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
أنشئ ملف ZIP للتطبيق الخاص بك
بـعد ذلك، قم بإنشاء ملف ZIP للتطبيق الخاص بك. تحتاج فقط إلـى تضمين مكونات التطبيق نفسه. لا تحتاج إلى تضمين أي مـلفات أو أدلة تبدأ بنقطة (.) مثل .venvأو .gitignoreأو.githubأو.vscode.
# Change these values to the ones used to create the App Service.
RESOURCE_GROUP_NAME='msdocs-python-webapp-quickstart'
APP_SERVICE_NAME='msdocs-python-webapp-quickstart-123'
az webapp deploy \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--src-path <zip-file-path>
# Change these values to the ones used to create the App Service.
$resourceGroupName='msdocs-python-webapp-quickstart'
$appServiceName='msdocs-python-webapp-quickstart-123'
az webapp deploy `
--name $appServiceName `
--resource-group $resourceGroupName `
--src-path <zip-file-path>
لاستخدام cURL من أجل تحميل ملف ZIP إلى Azure، ستحتاج إلى اسم المستخدم وكلمة المرور للنشر لـ App Service. يُمكن الحصول على بيانات الاعتماد هذه من مدخل Microsoft Azure.
فـي صفحة تطبيق الويب، حدد مركز النشر من القائمة الموجودة على الجانب الأيمن من الصفحة.
حـدد علامة التبويب بيانات اعتماد FTPS.
يتم عرض اسم المستخدموكلمة المرور ضمن عنوان نطاق التطبيق. بالنسبة إلى عمليات نشر ملف zip، استخدم فقط جزء اسم المستخدم بعد الحرف \ الذي يبدأ بـ $، على سبيل المثال $msdocs-python-webapp-quickstart-123. سوف تكون بيانات الاعتماد هذه مطلوبة في الأمر cURL.
قم بتشغيل الأمر التالي curl لتحميل ملف zip الخاص بك إلى Azure وتوزيع التطبيق الخاص بك. اسم المستخدم هو اسم المستخدم للنشر الذي تم الحصول عليه في الخطوة 3. عند تشغيل هذا الأمر، سوف تتم مطالبتك بكلمة مرور التوزيع.
بناءً على النطاق الترددي لشبكتك، تستغرق الملفات عادةً ما بين 10 و30 ثانية لتحميلها إلى Azure.
هل تواجه مشكلات؟ راجع أولا دليل استكشاف الأخطاء وإصلاحها. إذا لم يساعد ذلك، فقم بإعلامنا.
تكوين البرنامج النصي لبدء التشغيل
استنادا إلى وجود ملفات معينة في عملية نشر، تكتشف App Service تلقائيا ما إذا كان التطبيق هو تطبيق Django أو Flask وتنفذ الخطوات الافتراضية لتشغيل تطبيقك. بالنسبة للتطبيقات المستندة إلى أطر عمل الويب الأخرى مثل FastAPI، تحتاج إلى تكوين برنامج نصي لبدء التشغيل لخدمة التطبيقات لتشغيل تطبيقك؛ وإلا، تقوم App Service بتشغيل تطبيق افتراضي للقراءة فقط موجود في مجلد opt/defaultsite .
تكتشف App Service تلقائيا وجود تطبيق Flask. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
تكتشف App Service تلقائيا وجود تطبيق Django. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
بالنسبة إلى FastAPI، يجب تكوين أمر بدء تشغيل مخصص لخدمة التطبيقات لتشغيل تطبيقك. يبدأ الأمر التالي Gunicorn بعمليات عامل Uvicorn 2: gunicorn -w 2 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 main:app.
az webapp restart \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
تكتشف App Service تلقائيا وجود تطبيق Flask. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
تكتشف App Service تلقائيا وجود تطبيق Django. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
استخدم Azure CLI أو مدخل Microsoft Azure لتكوين أمر بدء التشغيل.
تكتشف App Service تلقائيا وجود تطبيق Flask. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
تكتشف App Service تلقائيا وجود تطبيق Django. لا يلزم تكوين إضافي لبدء التشغيل السريع هذا.
بالنسبة إلى FastAPI، يجب تكوين أمر بدء تشغيل مخصص لخدمة التطبيقات لتشغيل تطبيقك. يبدأ الأمر التالي Gunicorn بعمليات عامل Uvicorn 2: gunicorn -w 2 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8000 main:app.
الإرشادات
لقطة شاشة
أولا، قم بتكوين أمر بدء التشغيل في Azure App Service. انتقل إلى صفحة مثيل App Service فـي مدخل Microsoft Azure.
حدد Configuration ضمن عنوان Settings في القائمة على الجانب الأيمن من الصفحة.
انتظر الإعلام الذي يفيد بتحديث الإعدادات قبل المتابعة.
بعد ذلك، أعد تشغيل تطبيق الويب.
حدد نظرة عامة في القائمة على الجانب الأيسر من الصفحة.
في القائمة العلوية، حدد إعادة التشغيل.
استعرض التطبيق
استعرض للوصول إلى التطبيق المنشور في مستعرض الويب الخاص بك باستخدام عنوان URL http://<app-name>.azurewebsites.net. إذا رأيت صفحة تطبيق افتراضية، فانتظر دقيقة وقم بتحديث المستعرض.
يقوم نموذج كود Python بتشغيل حاوية Linux في خدمة التطبيقات باستخدام صورة مضمنة.
تهانينا! لقد قمت بنشر تطبيق Python الخاص بك في خدمة التطبيقات.
هل تواجه مشكلات؟ راجع أولا دليل استكشاف الأخطاء وإصلاحها. إذا لم يساعد ذلك، فقم بإعلامنا.
سجلات التدفق
تسجل Azure App Service جميع مخرجات الرسائل إلى وحدة التحكم لمساعدتك في تشخيص المشكلات المتعلقة بتطبيقك. تتضمن نماذج التطبيقات عبارات print() لتوضيح هذه الإمكانية.
@app.route('/')
def index():
print('Request for index page received')
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/hello', methods=['POST'])
def hello():
name = request.form.get('name')
if name:
print('Request for hello page received with name=%s' % name)
return render_template('hello.html', name = name)
else:
print('Request for hello page received with no name or blank name -- redirecting')
return redirect(url_for('index'))
def index(request):
print('Request for index page received')
return render(request, 'hello_azure/index.html')
@csrf_exempt
def hello(request):
if request.method == 'POST':
name = request.POST.get('name')
if name is None or name == '':
print("Request for hello page received with no name or blank name -- redirecting")
return redirect('index')
else:
print("Request for hello page received with name=%s" % name)
context = {'name': name }
return render(request, 'hello_azure/hello.html', context)
else:
@app.get("/", response_class=HTMLResponse)
async def index(request: Request):
print('Request for index page received')
return templates.TemplateResponse('index.html', {"request": request})
@app.get('/favicon.ico')
async def favicon():
file_name = 'favicon.ico'
file_path = './static/' + file_name
return FileResponse(path=file_path, headers={'mimetype': 'image/vnd.microsoft.icon'})
@app.post('/hello', response_class=HTMLResponse)
async def hello(request: Request, name: str = Form(...)):
if name:
print('Request for hello page received with name=%s' % name)
return templates.TemplateResponse('hello.html', {"request": request, 'name':name})
else:
print('Request for hello page received with no name or blank name -- redirecting')
return RedirectResponse(request.url_for("index"), status_code=status.HTTP_302_FOUND)
يمكنك مراجعة محتويات سجلات تشخيص App Service باستخدام Azure CLI أو VS Code أو مدخل Microsoft Azure.
أولًا، تحتاج إلى تمكين سجلات الدفق في Azure App Service.
في قسم App Service في مُلحق Azure Tools for VS Code، انقر بزر الماوس الأيمن فوق مثيل App Service وحدد Start Streaming Logs من القائمة.
تظهر سجلات وحدة التحكم في نافذة VS Code Output. تحديث الصفحة الرئيسية في التطبيق أو مُحاولة طلبات أخرى لإنشاء بعض رسائل السجل.
سترى أي رسائل سجل تم إنشاؤها بواسطة تطبيقك بالإضافة إلى الرسائل الأخرى التي تم إنشاؤها بواسطة الخدمة في الإخراج.
الإرشادات
لقطة شاشة
أولًا، تحتاج إلى تمكين سجلات الدفق في Azure App Service. انتقل إلى صفحة مثيل App Service فـي مدخل Microsoft Azure.
حدد App Service logs ضمن عنوان Monitoring في القائمة على الجانب الأيمن من الصفحة.
تغيير خاصية تسجيل التطبيق من إيقاف إلىنظام الملفات.
أدخل فترة استبقاء 30 يومًا للسجلات.
حدد حفظ لحفظ التغييرات الخاصة بك.
حدد Log stream من قسم Monitoring في جزء التنقل على اليسار. تحديث الصفحة الرئيسية في التطبيق أو مُحاولة طلبات أخرى لإنشاء بعض رسائل السجل.
سترى أي رسائل سجل تم إنشاؤها بواسطة التطبيق والرسائل التي تم إنشاؤها بواسطة الخدمة في الإخراج.
هل تواجه مشكلات؟ راجع أولا دليل استكشاف الأخطاء وإصلاحها. إذا لم يساعد ذلك، فقم بإعلامنا.
تنظيف الموارد
عند الانتهاء من عينة التطبيق، يمكنك إزالة جميع الموارد الخاصة بالتطبيق من Azure. تضمن إزالة مجموعة الموارد أنك لا تتحمل رسوما إضافية وتساعد في الحفاظ على اشتراك Azure الخاص بك غير مزدحم. تؤدي إزالة مَجموعة الموارد أيضا إلى إزالة جميع الموارد في مجموعة الموارد وهي أسرع طريقة لإزالة جميع موارد Azure لتطبيقك.
az group delete \
--name msdocs-python-webapp-quickstart \
--no-wait
تسمح الوسيطة --no-wait للأمر بالعودة قبل اكتمال العملية.
الإرشادات
لقطة شاشة
في ملحق Azure Tools ل VS Code:
ابحث عن قسم الموارد.
حدد أيقونة تجميع حسب وحدد تجميع حسب مجموعة الموارد.
في قائمة الموارد، ابحث عن مجموعة الموارد المراد حذفها، وانقر بزر الماوس الأيمن فوقها، وحدد حذف مجموعة الموارد.... ستتم مطالبتك بتأكيد الحذف عن طريق إدخال اسم مجموعة الموارد في مربع الحوار.
اتبع هذه الخطوات أثناء تسجيل الدخول إلى مدخل Microsoft Azure لحذف مَجموعة موارد.
الإرشادات
لقطة شاشة
انتقل إلى مجموعة الموارد في بوابة Azure.
أدخل اسم مجموعة الموارد في مربع البحث أعلى الصفحة.
ضمن عنوان Resource Groups، حدد اسم مجموعة الموارد للانتقال إليها.
حدد الزر حذف مجموعة الموارد في أعلى الصفحة.
في مربع حوار التأكيد، أدخل اسم مجموعة الموارد لتأكيد الحـذف. حـدد حذف لحذف مجموعة الموارد.