本快速入门将指导你完成创建 Python Web 和数据库解决方案并将其部署到 Azure 的最简单、最快的方法。 按照本快速入门中的说明执行,你将:
- 根据要构建的 Python Web 框架、Azure 数据库平台和 Azure Web 托管平台选择 Azure 开发人员 CLI (
azd) 模板。 - 创建一个新的 GitHub Codespace,其中包含从
azd所选模板生成的代码。 - 使用 GitHub Codespaces 和在线 Visual Studio Code 的 bash 终端。 终端允许使用 Azure 开发人员 CLI 命令运行
azd模板来创建示例 Web 应用和数据库,并创建和配置必要的 Azure 资源,然后将示例 Web 应用部署到 Azure。 - 在 GitHub Codespace 中编辑 Web 应用,并使用
azd命令重新部署。 - 使用
azd命令清理 Azure 资源。 - 关闭并重新打开 GitHub Codespace。
- 将新代码发布到 GitHub 存储库。
完成本教程需要不到 25 分钟的时间。 完成后,可以使用自定义代码开始修改新项目。
若要了解有关 Python Web 应用开发这些 azd 模板的详细信息,请执行以下步骤:
先决条件
重要
GitHub Codespaces 和 Azure 都是基于付费的订阅服务。 在使用完免费额度后,您可能需要支付这些服务的使用费用。 遵循此快速入门可能会影响这些分配或计费。 如果可能,这些 azd 模板是使用成本最低的选项层级构建的,但有些可能不是免费的。 使用 Azure 定价计算器 更好地了解成本。 有关详细信息,请参阅 GitHub Codespaces 定价 。
选择模板并创建代码空间
azd根据要构建的 Python Web 框架、Azure Web 托管平台和 Azure 数据库平台选择模板。
从以下模板列表中,选择一个模板,该模板使用要在新的 Web 应用程序中使用的技术。
模板 Web 框架 数据库 托管平台 新代码空间 azure-django-postgres-flexible-aca Django PostgreSQL 灵活服务器 Azure 容器应用 新建 Codespace Azure-Django-PostgreSQL-灵活应用服务 Django PostgreSQL 灵活服务器 Azure App 服务 新建 Codespace azure-django-cosmos-postgres-aca Django Cosmos DB (PostgreSQL 适配器) Azure 容器应用 新建 Codespace azure-django-cosmos-postgres-appservice Django Cosmos DB (PostgreSQL 适配器) Azure App 服务 新建 Codespace azure-django-postgres-addon-aca (Azure Django PostgreSQL 插件 ACA) Django Azure 容器应用 PostgreSQL 加载项 Azure 容器应用 新建 Codespace
为方便起见,每个表的最后一列包含一个链接,用于创建新的 Codespace 并在 GitHub 帐户中初始化
azd模板。 右键单击并选择“在新选项卡中打开”的模板名称旁边的“新建 Codespace”链接,以启动安装过程。在此过程中,系统可能会提示你登录到 GitHub 帐户,系统会要求你确认要创建 Codespace。 选择“创建 Codespace”按钮以查看“设置代码空间”页。
几分钟后,基于 Web 的 Visual Studio Code 版本将在新浏览器选项卡中加载,并且 Python Web 模板将作为工作区加载到资源管理器视图中。
向 Azure 进行身份验证并部署 azd 模板
有了包含新生成的代码的 GitHub Codespace 后,可以使用 azd Codespace 中的实用工具将代码发布到 Azure。
在基于 Web 的 Visual Studio Code 中,终端默认应打开。 如果未加载,请使用波浪号
~键打开终端。 此外,默认情况下,终端应为 bash 终端。 如果不是,请在终端窗口右上角切换到 bash。在 bash 终端中,输入以下命令:
azd auth loginazd auth login开始向 Azure 帐户验证你的代码空间的过程。Start by copying the next code: XXXXXXXXX Then press enter and continue to log in from your browser... Waiting for you to complete authentication in the browser...按照说明进行操作,其中包括:
- 复制生成的代码
- 选择 Enter 以打开新的浏览器选项卡并将代码粘贴到文本框中
- 从列表中选择 Azure 帐户
- 确认您正在尝试登录 Microsoft Azure CLI
成功后,以下消息会显示在终端的 Codespaces 选项卡中:
Device code authentication completed. Logged in to Azure.输入以下命令将新应用程序部署到 Azure:
azd up在此过程中,系统会要求你:
- 输入新环境名称
- 选择 Azure 订阅以使用 [使用箭头移动,键入筛选]
- 选择要使用的 Azure 位置:[使用箭头移动,键入筛选]
回答这些问题后,来自
azd的输出指示部署正在进行。重要
成功完成后
azd up,示例 Web 应用将在公共 Internet 上可用,Azure 订阅将开始对创建的所有资源收取费用。azd模板的创建者有意选择了便宜的层级,但不一定是免费层级,因为免费层级的可用性通常会受到限制。 使用完示例 Web 应用程序后,请使用azd down删除由azd up创建的所有服务。当系统提示选择要用于付款的 Azure 订阅时,请按照说明作,然后选择要使用的 Azure 位置。 选择地理上靠近的区域。
执行
azd up可能需要几分钟时间,因为它正在预配和部署多个 Azure 服务。 在显示进度时,请注意错误。 如果看到错误,请参阅本文档底部的 “故障排除 ”部分。azd up成功完成后,会显示类似的输出:(✓) Done: Deploying service web - Endpoint: https://xxxxx-xxxxxxxxxxxxx-ca.example-xxxxxxxx.westus.azurecontainerapps.io/ SUCCESS: Your application was provisioned and deployed to Azure in 11 minutes 44 seconds. You can view the resources created under the resource group xxxxx-rg in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxxx-rg/overview如果看到默认屏幕或错误屏幕,应用可能正在启动。 请等待 5-10 分钟,查看问题是否在故障排除之前自行解决。
按住 Ctrl 并单击单词
- Endpoint:后的第一个 URL,查看在 Azure 中运行的示例 Web 应用项目。Ctrl + 单击上一步中的第二个 URL,在 Azure 门户中查看预配的资源。
编辑和重新部署
下一步是对 Web 应用进行少量更改,然后重新部署。
返回到包含 Visual Studio Code 的浏览器选项卡,并使用 Visual Studio Code 的资源管理器视图导航到 src/templates 文件夹,并打开 index.html 文件。 找到以下代码行:
<h1 id="page-title">Welcome to ReleCloud</h1>更改 H1 中的文本:
<h1 id="page-title">Welcome to ReleCloud - UPDATED</h1>键入时,代码将保存。
若要使用更改重新部署应用,请在终端中运行以下命令:
azd deploy命令完成后,使用 ReleCloud 网站刷新浏览器选项卡以查看更新。 根据所使用的 Web 托管平台,可能需要几分钟才能看到更改。
现在,你已准备好编辑和删除模板中的文件。 有关详细信息,请参阅 可以在模板中编辑或删除哪些内容?
清理资源
通过运行 azd down 命令清理模板创建的资源。
azd down
azd down 命令删除 Azure 资源和 GitHub Actions 工作流。 出现提示时,同意删除与资源组关联的所有资源。
可选:找到代码空间
本部分演示如何在 Codespace 中(暂时)运行和持久保存代码。 如果打算继续处理代码,则应将代码发布到新存储库。
关闭与此快速入门文章相关的所有选项卡,或完全关闭 Web 浏览器。
打开 Web 浏览器和新选项卡,然后导航到: https://github.com/codespaces
在底部附近,你将看到最近的 Codespaces 列表。 在标题为“由 Azure-Samples 拥有”的部分中查找你创建的代码空间。
点击此代码空间右侧的省略号以查看上下文菜单。 在此处可以重命名代码空间、发布到新存储库、更改计算机类型、停止代码空间等。
可选:从 Codespaces 发布 GitHub 存储库
此时,你有一个 Codespace,它是由 GitHub 托管的容器,该容器使用从 azd 模板生成的新代码运行 Visual Studio Code 开发环境。 但是,代码不会存储在 GitHub 存储库中。 如果打算继续处理代码,则应将这一优先级放在首位。
- 在代码空间的上下文菜单中,选择“发布到新存储库”。
- 在“发布到新存储库”对话框中,重命名新存储库,并选择是公共存储库还是专用存储库。 选择“创建存储库”。
- 片刻之后,将创建存储库,本快速入门中之前生成的代码将推送到新存储库。 选择“查看存储库”按钮以导航到新存储库。
- 若要重新打开并继续编辑代码,请选择绿色的“<> 代码”下拉列表,切换到 Codespaces 选项卡,然后选择之前正在处理的 Codespace 的名称。 现在应返回到 Codespace Visual Studio Code 开发环境。
- 使用“源代码管理”窗格来创建新的分支,并暂存和提交对代码的新更改。
故障排除
如果在执行 azd up时看到错误,请尝试以下操作:
- 运行
azd down以删除可能已创建的任何资源。 或者,可以删除在 Azure 门户中创建的资源组。 - 转到 GitHub 帐户的 Codespaces 页,找到在本快速入门中创建的 Codespace,选择右侧的省略号,然后从上下文菜单中选择“删除”。
- 在 Azure 门户中,搜索 Key Vault。 选择“ 管理已删除的保管库”,选择订阅,选择包含名称 azdtest 的所有密钥保管库或你命名环境的任何保管库,然后选择“ 清除”。
- 请再次重试本快速入门中的步骤。 出现提示时,请为环境选择更简单的名称。 尝试短名称、小写字母、无数字、无大写字母、无特殊字符。
- 重试快速入门步骤时,请选择其他位置。
有关可能问题和解决方案的更全面的列表,请参阅 常见问题解答 。
相关内容
-
详细了解 Python Web
azd模板 -
详细了解
azd命令。 - 了解项目中每个文件夹和文件的作用,以及你可以编辑或删除哪些内容?
- 详细了解 GitHub Codespaces
- 更新 Bicep 模板以添加或删除 Azure 服务。 你不知道 Bicep 吗? 请尝试此学习路径:Bicep 基础知识
-
使用
azd设置 GitHub Actions CI/CD 管道,以便在合并时重新部署到主分支 - 设置监视,以便你可以使用 Azure 开发人员 CLI 监视你的应用