Python on Azure App Service — Code Deploy 是什么
Python on Azure App Service — Code Deploy 是针对 Python Web 代码的精简发布流程,支持 Flask、Django、FastAPI 和通用项目部署到 Azure App Service Linux;缺少资源时可创建资源组、P0v3 Linux Plan 与 Python Web App。
适用场景与选择边界
适合不需要完整 IaC 的 Python App Service 代码部署,并能识别 azure.yaml 选择 azd 或 Azure CLI 路径。Container Apps、Functions、非 Python、VNet、Key Vault、数据库和完整 Bicep 或 Terraform 应交给 Azure Prepare。它不是通用 Azure 基础设施编排器。
核心能力与工作机制
流程会解析最少上下文、建议性识别框架、创建缺失资源、设置运行时和 Oryx 构建,FastAPI 强制 uvicorn 启动命令,随后执行 azd deploy 或 zip deploy。
实际工作流
只把应用名作为必要交互,资源组、计划、区域和订阅采用透明 smart defaults;检测框架后选择 azd 或 CLI。确保 P0v3、Linux 与 Python 3.14,设置 SCM_DO_BUILD_DURING_DEPLOYMENT,部署完成后停止并给出后续消息。
输入、输出与交付物
需要 Python 项目目录、应用名和可解析的依赖;若默认订阅、区域或资源名称不合适,用户应明确覆盖。输出是已存在或新建的资源组、App Service Plan、Web App、部署包与部署状态;完成后报告应用身份和下一步,但不继续擅自添加数据库或网络。
依赖、账号与权限
需要 Azure 登录、App Service 资源写权限和项目文件读取,azd 路线需 azure.yaml 与 azd,CLI 路线需 Azure CLI。应用设置中的秘密应使用安全配置。
限制与安全风险
默认值可能不符合生产区域、价格或组织命名,P0v3 与 Python 版本也应核对。zip 部署可能替换站点内容,错误启动命令会造成启动失败。会创建或更新资源组、Plan、Web App、应用设置和部署内容,产生持续费用。执行前应展示解析出的订阅、区域、名称和计划;现有生产 App 覆盖必须明确确认。
适合谁使用
适合希望快速发布 Python Web 应用的开发者;有复杂企业基础设施需求的团队应使用 Azure Prepare。
上手与验收建议
先在非生产应用用默认流程部署一个最小版本,确认启动和日志后再发布完整代码。验收要读取 Web App 运行时和设置,访问健康端点或首页,查看部署和启动日志,并确认 Flask 或 Django 由 Oryx 正确识别、FastAPI 使用预期 uvicorn 命令。
来源、版本与许可
本条目依据 Microsoft 官方 azure-skills 仓库固定提交中的完整 Python on Azure App Service — Code Deploy Skill、skills.sh 市场详情和仓库 MIT 许可证整理,核验日期为 2026 年 9 月 20 日。来源未提供官方中文展示名,因此导航保留官方英文名称。
常见问题
1. Python on Azure App Service — Code Deploy 主要解决什么问题?
Python on Azure App Service — Code Deploy 是针对 Python Web 代码的精简发布流程,支持 Flask、Django、FastAPI 和通用项目部署到 Azure App Service Linux;缺少资源时可创建资源组、P0v3 Linux Plan 与 Python Web App。适合不需要完整 IaC 的 Python App Service 代码部署,并能识别 azure.yaml 选择 azd 或 Azure CLI 路径。
2. 开始前需要准备哪些输入和上下文?
需要 Python 项目目录、应用名和可解析的依赖;若默认订阅、区域或资源名称不合适,用户应明确覆盖。需要 Azure 登录、App Service 资源写权限和项目文件读取,azd 路线需 azure.yaml 与 azd,CLI 路线需 Azure CLI。应用设置中的秘密应使用安全配置。
3. 执行后会得到什么结果或文件?
输出是已存在或新建的资源组、App Service Plan、Web App、部署包与部署状态;完成后报告应用身份和下一步,但不继续擅自添加数据库或网络。
4. 需要哪些账号、工具和最小权限?
需要 Azure 登录、App Service 资源写权限和项目文件读取,azd 路线需 azure.yaml 与 azd,CLI 路线需 Azure CLI。应用设置中的秘密应使用安全配置。默认值可能不符合生产区域、价格或组织命名,P0v3 与 Python 版本也应核对。zip 部署可能替换站点内容,错误启动命令会造成启动失败。
5. 它会修改本地文件或云端资源吗?
会创建或更新资源组、Plan、Web App、应用设置和部署内容,产生持续费用。执行前应展示解析出的订阅、区域、名称和计划;现有生产 App 覆盖必须明确确认。
6. 哪些需求不应该交给这个 Skill?
Container Apps、Functions、非 Python、VNet、Key Vault、数据库和完整 Bicep 或 Terraform 应交给 Azure Prepare。它不是通用 Azure 基础设施编排器。
7. 遇到失败或结果异常时怎样处理?
ARM 临时错误按受控重试参考处理;部署失败检查构建日志、requirements、Python 版本和启动命令。FastAPI 应核对 main:app,其他框架不得随意套用 uvicorn。
8. 如何验收结果确实可靠?
验收要读取 Web App 运行时和设置,访问健康端点或首页,查看部署和启动日志,并确认 Flask 或 Django 由 Oryx 正确识别、FastAPI 使用预期 uvicorn 命令。