python-appservice-deploy
Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux. WHEN: "Flask App Service", "Django App Service", "FastAPI App Service", "deploy Python to App Service". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform/Bicep/IaC, full infra — use azure-prepare.
适合你,如果你的Python应用需要部署到Azure App Service
npx oh-my-skill add microsoft/azure-skills/python-appservice-deploycurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- microsoft/azure-skills/python-appservice-deploynpx oh-my-skill verify microsoft/azure-skills/python-appservice-deploy怎么用
商店整理自技能原文 · 版本 9cd2049 · 表述以原文为准安装此技能后,Claude 能将 Python 代码(Flask、Django、FastAPI 等)部署到 Azure App Service Linux。自动创建所需资源、检测框架、设置启动命令并部署,部署后不进行验证。
当用户提到“Flask App Service”、“Django App Service”或“FastAPI App Service”等关键词时触发。
技能原文 SKILL.md
Python on Azure App Service — Code Deploy
Deploys Python (Flask, Django, FastAPI, generic) code to Azure App Service Linux (P0v3, Python 3.14). Creates RG + Plan + Web App if missing. Hand off to azure-prepare for VNet, Key Vault, databases, or IaC.
MCP tools used: mcp_azure_mcp_subscription_list, mcp_azure_mcp_group_list, mcp_azure_mcp_appservice, mcp_azure_mcp_azd (when azure.yaml is present).
Workflow
- Resolve context — smart defaults, minimal prompts. Only the app name is interactive; RG (
<app>-rg), Plan (<app>-plan), region (currentazdefault oreastus2), subscription are derived. [create-app.md](references/create-app.md) §1. - Detect framework (advisory, never blocks). [detect.md](references/detect.md).
- Choose path —
azure.yamlhost: appservice → [deploy-azd.md](references/deploy-azd.md); else [deploy-azcli.md](references/deploy-azcli.md). - Ensure RG → Plan (
P0v3 --is-linux) → Web App (--runtime "PYTHON:3.14") exist. On transient ARM errors, follow [transient-retry.md](references/transient-retry.md). [create-app.md](references/create-app.md). - Set startup — Flask/Django: none (Oryx auto-detects). FastAPI: always
python -m uvicorn main:app --host 0.0.0.0. Other: warn. [startup-commands.md](references/startup-commands.md). - Set
SCM_DO_BUILD_DURING_DEPLOYMENT=true. - Deploy —
azd deployoraz webapp deploy --type zip --track-status false. - STOP. Print the post-deploy message ([post-deploy-message.md](references/post-deploy-message.md)) and end the turn.
Hard rules
- ⛔ NO POST-DEPLOY VERIFICATION — after deploy returns, do not run
az webapp log tail,curl,Invoke-WebRequest, or any health probe. App Service needs 2–3 min to warm; a quiet log or early 5xx is not failure. - ⛔ SHELL SAFETY — for
--runtimealways use"PYTHON:3.14"(colon). Never"PYTHON|3.14"(pipe is a shell operator). - ⛔ NEVER
az webapp up— deprecated. Use Step 7 commands. - ✅ URL FORMAT — present endpoints as
https://...URLs.
Error Handling
See [errors.md](references/errors.md) for the full symptom → cause → fix matrix. Quick triage: missing plan/app → re-run Step 4; container ping timeout on 8000 → fix startup (Step 5); ModuleNotFoundError after deploy → ensure Step 6 ran, redeploy.