Skills
Chapter 37 of 37
Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux.
1 minute · 215 words · 4 sections
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).
<app>-rg), Plan (<app>-plan), region (current az default or eastus2), subscription are derived. create-app.md (opens in a new tab) §1.azure.yaml host: appservice → deploy-azd.md (opens in a new tab); else deploy-azcli.md (opens in a new tab).P0v3 --is-linux) → Web App (--runtime "PYTHON:3.14") exist. On transient ARM errors, follow transient-retry.md (opens in a new tab). create-app.md (opens in a new tab).python -m uvicorn main:app --host 0.0.0.0. Other: warn. startup-commands.md (opens in a new tab).SCM_DO_BUILD_DURING_DEPLOYMENT=true.azd deploy or az webapp deploy --type zip --track-status false.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.--runtime always use "PYTHON:3.14" (colon). Never "PYTHON|3.14" (pipe is a shell operator).az webapp up — deprecated. Use Step 7 commands.https://... URLs.See errors.md (opens in a new tab) 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.
Install this repository
npx skills add microsoft/azure-skills/plugin marketplace add microsoft/azure-skillsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
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.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/python-appservice-deploy/SKILL.mdmain, last pushed 7 August 2026.SKILL.md, not by matching a directory convention. 6 distinct layouts observed: skills/*/SKILL.md, skills/azure-app-onboard/*/SKILL.md, skills/azure-kubernetes/*/SKILL.md, skills/microsoft-foundry/*/SKILL.md, skills/microsoft-foundry/models/deploy-model/*/SKILL.md, skills/microsoft-foundry/models/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Microsoft, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./microsoft/azure-skills.md, and each chapter at its own .md URL.12 files · 39 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of chapter 37.
Documentation the agent loads on demand, rather than up front.
Executable code the skill can run.