快速入门:使用 Azure 开发人员 CLI 模板从 GitHub Codespaces 创建 Python Web 应用并将其部署到 Azure

本快速入门将指导你完成创建 Python Web 和数据库解决方案并将其部署到 Azure 的最简单、最快的方法。 按照本快速入门中的说明操作,你将:

  • 根据要构建的 Python Web 框架、Azure 数据库平台和 Azure Web 托管平台选择 Azure 开发人员 CLIazd) 模板。
  • 创建一个新的 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 数据库平台选择模板。

  1. 从以下模板列表中,选择一个模板,该模板使用要在新的 Web 应用程序中使用的技术。

    模板 Web 框架 Database 托管平台 新建 Codespace
    azure-django-postgres-flexible-aca Django PostgreSQL 灵活服务器 Azure Container Apps 新建 Codespace
    azure-django-postgres-flexible-appservice Django PostgreSQL 灵活服务器 Azure 应用服务 新建 Codespace
    azure-django-cosmos-postgres-aca Django Cosmos DB (PostgreSQL 适配器) Azure 容器应用 新建 Codespace
    azure-django-cosmos-postgres-appservice Django Cosmos DB (PostgreSQL 适配器) Azure 应用服务 新建 Codespace
    azure-django-postgres-addon-aca Django Azure 容器应用 PostgreSQL 加载项 Azure Container Apps 新建 Codespace

  1. 为方便起见,每个表的最后一列包含一个链接,用于创建新的 Codespace 并在 GitHub 帐户中初始化 azd 模板。 右键单击并选择“在新选项卡中打开”的模板名称旁边的“新建 Codespace”链接,以启动安装过程。

    在此过程中,系统可能会提示你登录到 GitHub 帐户,系统会要求你确认要创建 Codespace。 选择“创建 Codespace”按钮以查看“设置代码空间”页。

  2. 几分钟后,基于 Web 的 Visual Studio Code 版本将加载到新的浏览器选项卡中,Python Web 模板加载为资源管理器视图中的工作区。

向 Azure 进行身份验证并部署 azd 模板

有了包含新生成的代码的 GitHub Codespace 后,可以使用 azd Codespace 中的实用工具将代码发布到 Azure。

  1. 在基于 Web 的 Visual Studio Code 中,终端默认应打开。 如果不是,请使用平铺 ~ 键打开终端。 此外,默认情况下,终端应为 bash 终端。 如果不是,请更改为终端窗口右上角区域的 bash。

  2. 在 bash 终端中,输入以下命令:

    azd auth login
    

    azd auth login 开始将 Codespace 身份验证到 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...
    
  3. 按照说明操作,其中包括:

    • 复制生成的代码
    • 选择 Enter 以打开新的浏览器选项卡并将代码粘贴到文本框中
    • 从列表中选择 Azure 帐户
    • 确认你正在尝试登录到 Microsoft Azure CLI
  4. 成功后,以下消息会显示在终端的 Codespaces 选项卡中:

    Device code authentication completed.
    Logged in to Azure.
    
  5. 输入以下命令将新应用程序部署到 Azure:

    azd up
    

    在此过程中,系统会要求你:

    • 输入新环境名称
    • 选择 Azure 订阅以使用 [使用箭头移动,键入筛选]
    • 选择要使用的 Azure 位置:[使用箭头移动,键入筛选]

    回答这些问题后,来自 azd 的输出指示部署正在进行。

    重要

    成功完成后 azd up ,示例 Web 应用将在公共 Internet 上可用,Azure 订阅将开始对创建的所有资源收取费用。 模板的 azd 创建者有意选择廉价的层,但不一定 免费 层,因为免费层通常限制可用性。 使用完示例 Web 应用后,用于 azd down 删除创建 azd up的所有服务。

    当系统提示选择要用于付款的 Azure 订阅时,请按照说明操作,然后选择要使用的 Azure 位置。 选择地理上靠近的区域。

    执行 azd up 可能需要几分钟时间,因为它正在预配和部署多个 Azure 服务。 显示进度时,请观察错误。 如果看到错误,请参阅 本文档底部的“故障排除 ”部分。

  6. 成功完成后 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 应用项目。

  7. Ctrl + 单击上一步骤中的第二个 URL 以查看Azure 门户中的预配资源。

编辑和重新部署

下一步是对 Web 应用进行少量更改,然后重新部署。

  1. 返回到包含 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>
    

    键入时,代码将保存。

  2. 若要使用更改重新部署应用,请在终端中运行以下命令:

    azd deploy
    
  3. 命令完成后,使用 ReleCloud 网站刷新浏览器选项卡以查看更新。 根据所使用的 Web 托管平台,可能需要几分钟才能看到更改。

    现在,你已准备好编辑和删除模板中的文件。 有关详细信息,请参阅 可以在模板中编辑或删除哪些内容?

清理资源

通过运行 azd down 命令清理模板创建的资源。

azd down

azd down 命令将删除 Azure 资源和 GitHub Actions 工作流。 出现提示时,同意删除与资源组关联的所有资源。

可选:查找代码空间

本部分演示如何在 Codespace 中(暂时)运行和持久保存代码。 如果打算继续处理代码,则应将代码发布到新存储库。

  1. 关闭与此快速入门文章相关的所有选项卡,或完全关闭 Web 浏览器。

  2. 打开 Web 浏览器和新选项卡,然后导航到: https://github.com/codespaces

  3. 在底部附近,你将看到最近的 Codespaces 列表。 查找在标题为“Azure-Samples 拥有”的部分中创建的。

  4. 选择此 Codespace 右侧的省略号以查看上下文菜单。 在此处可以重命名代码空间、发布到新存储库、更改计算机类型、停止代码空间等。

可选:从 Codespaces 发布 GitHub 存储库

此时,你有一个 Codespace,它是由 GitHub 托管的容器,该容器使用从 azd 模板生成的新代码运行 Visual Studio Code 开发环境。 但是,代码不会存储在 GitHub 存储库中。 如果打算继续处理代码,则应将这一优先级放在首位。

  1. 在代码空间的上下文菜单中,选择“发布到新存储库”。
  2. 在“发布到新存储库”对话框中,重命名新存储库,并选择是公共存储库还是专用存储库。 选择“创建存储库”。
  3. 片刻之后,将创建存储库,本快速入门中之前生成的代码将推送到新存储库。 选择“查看存储库”按钮以导航到新存储库。
  4. 若要重新打开并继续编辑代码,请选择绿色的“<> 代码”下拉列表,切换到 Codespaces 选项卡,然后选择之前正在处理的 Codespace 的名称。 现在应返回到 Codespace Visual Studio Code 开发环境。
  5. 使用“源代码管理”窗格创建新的分支和暂存,并将新更改提交到代码。

疑难解答

如果在期间 azd up看到错误,请尝试以下操作:

  • 运行 azd down 以删除可能已创建的任何资源。 或者,可以删除在Azure 门户中创建的资源组。
  • 转到 GitHub 帐户的 Codespaces 页,找到在本快速入门中创建的 Codespace,选择右侧的省略号,然后从上下文菜单中选择“删除”。
  • 在Azure 门户中,搜索密钥库。 选择“ 管理已删除的保管库”,选择订阅,选择包含名称 azdtest 的所有密钥保管库或你命名环境的任何保管库,然后选择“ 清除”。
  • 请再次重试本快速入门中的步骤。 出现提示时,请为环境选择更简单的名称。 尝试短名称、小写字母、无数字、无大写字母、无特殊字符。
  • 重试快速入门步骤时,请选择其他位置。

有关可能问题和解决方案的更全面的列表,请参阅常见问题解答