Python Web azd Templates 概述
Python Web Azure 开发人员 CLI (azd
) 模板是开始生成 Python Web 应用程序并将其部署到 Azure 的最简单方法。 本文提供入门时上下文背景信息。
入门的最佳方式是 按照快速入门 创建第一个 Python Web 应用程序,并在几分钟内使用 azd
模板将其部署到 Azure。 如果不想设置本地开发环境,仍可使用 GitHub Codespaces 遵循快速入门。
什么是 Python Web azd 模板?
令人敬畏的 AZD 模板库中提供了许多azd
模板。 但是,此 Python Web azd
模板集合是独一无二的,因为它们提供了一个示例 Web 应用程序,在 Azure 资源和 Python Web 框架的许多不同热门组合中提供功能奇偶一致性。
运行 Python Web azd
模板时,你将:
- 创建初学者应用程序 - 具体而言,是名为 Relecloud 的虚构公司的网站。 项目代码为给定的 Python 框架和包提供了许多最佳做法,这些框架和包是该特定技术堆栈所必需的。 该模板旨在成为应用程序的起点。 根据需要添加或删除应用程序逻辑和 Azure 资源。
- 预配 Azure 资源 - 模板使用 Bicep(一种常用的基础结构即代码工具)预配用于托管 Web 应用和数据库的 Azure 资源。 同样,如果需要添加更多 Azure 服务,请 修改 Bicep 模板 。
- 将初学者应用程序部署到新预配的 Azure 资源 - 启动程序应用程序会自动部署,以便可以在几分钟内看到其全部工作,并确定要修改的内容。
- 可选:设置 GitHub 存储库和 CI/CD 管道 - 如果需要,模板包含为包括 GitHub Actions CI/CD 管道在内的 GitHub 存储库设置逻辑。 几分钟后,即可对 Web 项目代码进行更改。 将这些更改合并到 GitHub 存储库的主 分支时,CI/CD 管道会将这些更改发布到新的 Azure 托管环境。
这是谁?
这些模板旨在供想要开始构建面向 Azure 部署的新 Python Web 应用程序的经验丰富的 Python Web 开发人员使用。
为什么我想使用它?
azd
使用模板可提供以下几个优势:
- 最快的开始 - 在本地开发环境和托管环境设置的方式外,你可以专注于在几分钟内构建应用程序。
- 最简单的开始 - 只需执行几个命令行说明即可生成整个本地开发、托管和部署环境。 工作流易于使用且易于记住。
- 基于最佳做法 构建 - 每个模板都是由 Python 在 Azure 行业资深人士上构建和维护的。 按照其设计方法添加代码,以构建在坚实的基础之上。
模板索引
下表列出了可用于命令的 Python Web azd
模板名字对象 azd init
、每个模板中实现的技术,以及要参与更改的 GitHub 存储库的链接。
模板 | Web 框架 | Database | 托管平台 | GitHub 存储库 |
---|---|---|---|---|
azure-django-postgres-flexible-aca | Django | PostgreSQL 灵活服务器 | Azure 容器应用 | 存储库 |
azure-django-postgres-flexible-appservice | Django | PostgreSQL 灵活服务器 | Azure 应用服务 | 存储库 |
azure-django-cosmos-postgres-aca | Django | Cosmos DB (PostgreSQL 适配器) | Azure 容器应用 | 存储库 |
azure-django-cosmos-postgres-appservice | Django | Cosmos DB (PostgreSQL 适配器) | Azure 应用服务 | 存储库 |
azure-django-postgres-addon-aca | Django | Azure 容器应用 PostgreSQL 加载项 | Azure Container Apps | 存储库 |
模板的工作原理是什么?
可以使用各种 azd
命令来执行模板定义的 azd
任务。 Azure 开发人员 CLI 入门中详细介绍了这些命令。
该 azd
模板包含一个 GitHub 存储库,其中包含应用程序代码(使用常用 Web 框架的 Python 代码)和基础结构即代码(即 Bicep)文件来创建 Azure 资源。 它还包含使用 CI/CD 管道设置 GitHub 存储库所需的配置。
本快速入门将指导你完成使用特定 azd
模板的步骤。 它只需要对生产托管环境和本地开发环境执行五个命令行说明:
azd init --template <template name>
- 从模板创建新项目,并在本地计算机上创建应用程序代码的副本。 该命令会提示你提供环境名称(如“myapp”),该名称用作已部署资源的命名的前缀。azd auth login
- 将你登录到 Azure。 此命令将打开一个浏览器窗口,可在其中登录到 Azure。 登录后,浏览器窗口将关闭,命令完成。azd auth login
每次会话首次使用 Azure 开发人员 CLI 时azd
,才需要该命令。azd up
- 预配云资源并将应用部署到这些资源。azd deploy
- 将对应用程序源代码的更改部署到已预配的资源azd up
。azd down
- 删除 Azure 资源和 CI/CD 管道(如果使用)。
提示
请观看输出,了解 azd
需要回答的提示。 例如,在执行 azd up
命令后,如果属于多个订阅,系统可能会提示你选择订阅。 此外,系统会提示你选择一个区域。 可以通过编辑存储在 模板 /.azure/ 文件夹中的环境变量来更改提示的答案。
模板完成后,你拥有原始模板的个人副本,可在其中根据需要修改每个文件。 至少可以修改 Python 项目代码,使项目具有设计和应用程序逻辑。 如果需要更改 Azure 资源,还可以 修改基础结构即代码配置 。 请参阅标题为 “我可以编辑或删除哪些内容”部分?
可选:修改和重新预配 Azure 资源
如果要更改预配的 Azure 资源,可以在 模板中编辑相应的 Bicep 文件 并使用:
azd provision
- 将 Azure 资源重新预配到 Bicep 文件中定义的所需状态。
设置 CI/CD 管道
Azure 开发人员 CLI (azd
) 提供了一种为新的 Python Web 应用程序设置 CI/CD 管道的简单方法。 每次将提交或拉取请求合并到主分支时,CI/CD 管道都会自动生成更改并将其发布到 Azure 资源。
可选:自动设置 GitHub Actions CI/CD 管道
如果要实现 GitHub Actions CI/CD 管道功能,请使用以下命令:
azd pipeline config
- 允许指定 GitHub 存储库和设置以启用 CI\CD 管道。 配置后,每次将代码更改合并到 存储库的主 分支时,管道会将更改部署到预配的 Azure 服务。
我的其他选项是什么?
如果不想使用 azd
模板,则可以将 Python 应用部署到 Azure,并通过多种方式创建 Azure 资源。
可以使用以下工具之一完成许多资源创建和部署步骤:
- Azure 门户
- Azure CLI
- 使用 Azure 工具扩展的 Visual Studio Code
或者,如果你正在寻找一个支持 Python Web 开发框架的端到端教程,检查:
我是否需要使用开发容器?
错误。 默认情况下,Python Web azd
模板使用 开发容器 。 开发容器提供了许多优势,但需要一些先决条件知识和软件。 如果不想使用开发容器,而是希望改用本地开发环境,请参阅 示例应用根目录中的 README.md 文件,了解环境设置说明。
可以编辑或删除哪些内容?
每个 azd
模板的内容可能因项目类型和所采用的基础技术堆栈而异。 本文中列出的模板遵循常见约定:
文件夹/文件 | 目的 | 说明 |
---|---|---|
/ | 根目录 | 根目录包含许多不同类型的文件和文件夹,用于许多不同的目的。 |
/。蔚蓝 | azd 配置文件 |
包含 Azure 开发人员 CLI (azd ) 命令使用的环境变量。 运行命令后 azd init 会创建此文件夹。 可以更改环境变量的值以自定义应用和 Azure 资源。 有关详细信息,请参阅 特定于环境的 .env 文件。 |
/.devcontainer | 开发容器配置文件 | 使用开发容器 ,可以创建基于容器的开发环境,其中包含 Visual Studio Code 中软件开发所需的所有资源。 |
.github/ | GitHub Actions 配置 | 包含可选 GitHub Actions CI/CD 管道的配置设置,以及 linting 和 test。 如果不想使用azd pipeline config 命令设置 GitHub Actions 管道,则可以修改或删除 azure-dev.yaml 文件。 |
/infra | Bicep 文件 | Bicep 允许声明要部署到环境的 Azure 资源。 应仅修改 main.bicep 和 web.bicep 文件。 请参阅快速入门:使用 Bicep 缩放使用 Python Web 模板部署azd 的服务。 |
src/ | 初学者项目代码文件 | 包括 Web 框架、静态文件、代码逻辑和数据模型的 .py 文件、a requirements.txt 等所需的任何模板。 特定文件取决于 Web 框架、数据访问框架等。 可以修改这些文件以满足项目要求。 |
/.cruft.json | 模板生成文件 | 在内部用于生成 azd 模板。 可以安全地删除此文件。 |
/.gitattributes | git 属性 | 为 git 提供有关处理文件和文件夹的重要配置。 可以根据需要修改此文件。 |
/.gitignore | git ignore | 告知 git 忽略存储库中包含的文件和文件夹。 可以根据需要修改此文件。 |
/azure.yaml | azd 配置文件 |
包含用于 azd up 声明将部署哪些服务和项目文件夹的配置设置。 不能删除此文件。 |
/*。Md | markdown 文件 | 有多种 markdown 文件用于不同的目的。 可以安全地删除这些文件。 |
/docker-compose.yml | Docker Compose | 在将应用程序部署到 Azure 之前,请为应用程序创建容器包。 |
/pyproject.toml | Python 生成系统 | 包含 Python 项目的生成系统要求。 可以修改此文件以包括首选工具(例如,使用 linter 和单元测试框架)。 |
/requirements-dev.in | pip 要求文件 | 用于使用 pip install -r 命令创建要求的开发环境版本。 可以修改此文件以根据需要包含其他包。 |
提示
使用良好的版本控制做法,使你能够回到项目工作的时间点,以防你莫名其妙地中断某些内容。
常见问题
问:使用 azd
模板时出现错误。 我该怎么做?
答:请参阅 Azure 开发人员 CLI 故障排除。 还可以在相应的 azd
模板的 GitHub 存储库上报告问题。