通过


快速入门:使用 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 定价

选择模板并创建代码空间

根据Python Web 框架、Azure Web 托管平台和要构建的数据库平台 Azure,选择 azd 模板。

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

    模板 Web 框架 数据库 托管平台 新代码空间
    azure-django-postgres-flexible-aca Django PostgreSQL 灵活服务器 Azure Container Apps New Codespace
    Azure-Django-PostgreSQL-灵活应用服务 Django PostgreSQL 灵活服务器 Azure App Service New Codespace
    azure-django-cosmos-postgres-aca Django Cosmos DB (PostgreSQL 适配器) Azure Container Apps New Codespace
    azure-django-cosmos-postgres-appservice Django Cosmos DB (PostgreSQL 适配器) Azure App Service New Codespace
    azure-django-postgres-addon-aca (Azure Django PostgreSQL 插件 ACA) Django Azure Container Apps PostgreSQL 插件 Azure Container Apps New Codespace

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

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

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

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

现在,已有包含新生成的代码的 GitHub Codespace,请使用 Codespace 中的 azd 实用工具将代码发布到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 分钟,查看问题是否在故障排除之前自行解决。

    1. 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. 点击此代码空间右侧的省略号以查看上下文菜单。 在此处可以重命名代码空间、发布到新存储库、更改计算机类型、停止代码空间等。

可选:从 Codespaces 发布GitHub存储库

此时,你有一个 Codespace,它是由运行Visual Studio Code开发环境的GitHub托管的容器,其中包含从 azd 模板生成的新代码。 但是,代码不会存储在GitHub存储库中。 如果打算继续处理代码,请优先将其存储在存储库中。

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

故障排除

如果您在 azd up 时发现错误,请尝试以下步骤:

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

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