快速入门:使用 Bicep 扩展通过 azd Python Web 模板部署的服务

使用 Python Web azd 模板 可以快速创建新的 Web 应用程序并将其部署到 Azure。 azd 模板旨在使用低成本的 Azure 服务选项。 毫无疑问,你需要调整方案模板中定义的每个服务的服务级别(或 SKU)。

在本快速入门指南中,你将更新相应的 Bicep 模板文件,以扩展现有服务并将新服务添加到你的部署中。 然后,运行 azd provision 命令并查看对 Azure 部署所做的更改。

先决条件

Azure 订阅 - 免费创建订阅

必须在本地计算机上安装以下各项:

部署模板

首先,你需要一个可以正常工作的 azd 部署。 一旦准备就绪,您便可以修改 azd 模板生成的 Bicep 文件。

  1. 按照 快速入门文章中的步骤 1 到 7 进行操作。 在步骤 2 中,使用 azure-django-postgres-flexible-appservice 模板。 为方便起见,下面是从命令行发出的整个命令序列:

    mkdir azdtest
    cd azdtest
    azd init --template azure-django-postgres-flexible-appservice
    azd auth login
    azd up
    

    azd up 完成后,打开 Azure 门户,导航到新资源组中部署的 Azure 应用服务并记下应用服务定价计划(请参阅应用服务计划的“概述”页,“概要”部分,“定价计划”值)。

  2. 在快速入门文章的步骤 1 中,指示你创建 azdtest 文件夹。 在 Visual Studio Code 中打开该文件夹。

  3. 在“资源管理器”窗格中,导航到 infra 文件夹。 观察 infra 文件夹中的子文件夹和文件。

    main.bicep 文件协调在执行 azd upazd provision 时部署的所有服务的创建。 它调用其他文件,例如 db.bicepweb.bicep,后者又调用 \core 子文件夹中包含的文件。

    \core 子文件夹是一个嵌套很深的文件夹结构,其中包含许多 Azure 服务的 bicep 模板。 \core 子文件夹中的一些文件由三个顶级 bicep 文件(main.bicepdb.bicepweb.bicep)引用,某些文件根本不用于此项目中。

通过修改其 Bicep 属性来缩放服务

通过更改部署中的 SKU,可以调整现有资源的规模。 为了演示这一点,你将将应用服务计划从“基本服务计划”(专为流量要求较低且不需要高级自动缩放和流量管理功能的应用设计)更改为“标准服务计划”,该计划专为运行生产工作负荷而设计。

注释

事后,并非所有 SKU 更改都可以进行。 可能需要进行一些研究才能更好地了解缩放选项。

  1. 打开 web.bicep 文件,找到 appService 模块定义。 具体而言,请查看属性设置:

       sku: {
          name: 'B1'
       }
    

    将值从 B1 更改为 S1,如下所示:

       sku: {
          name: 'S1'
       }
    

    重要

    由于此变化,每小时的价格将略有上升。 有关不同服务计划及其相关成本的详细信息,请参阅 应用服务定价页

  2. 假设已在 Azure 中部署了应用程序,请使用以下命令将更改部署到基础结构,同时不重新部署应用程序代码本身。

    azd provision
    

    不应提示你输入位置或订阅信息。 这些值保存在 .azure<环境名称>.env 文件中,其中 <environment-name> 是在 azd init期间提供的环境名称。

  3. azd provision 完成后,确认 Web 应用程序仍然有效。 另请查找资源组的应用服务计划,并确认定价计划已设置为标准服务计划(S1)。

本快速入门就此结束,不过,许多 Azure 服务可以帮助你构建更具可扩展性和生产就绪的应用程序。 一个很好的开始是了解 azure API 管理 Azure Front DoorAzure CDN,以及 Azure 虚拟网络等。

清理资源

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

azd down

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

还可以删除 azdtest 文件夹,或者通过修改项目的文件将其用作你自己的应用程序的基础。