使用 Azure CLI 创建 应用程序服务资源

适用于: SDK v4

本文介绍如何使用 Azure CLI 和 Azure 资源管理器 模板(ARM 模板)创建应用程序服务资源,作为预配和发布机器人过程的一部分。 应用程序服务有时称为 Web 应用

重要

不能将 Python 机器人部署到包含 Windows 服务或机器人的资源组。 可以将多个 Python 机器人部署到同一资源组,但需要在另外的资源组创建其他服务(比如 Azure AI 服务)。

注意

Bot Framework JavaScript、C# 和 Python SDK 将继续受支持,但 Java SDK 即将停用,最终长期支持将于 2023 年 11 月结束。

使用 Java SDK 构建的现有机器人将继续正常运行。

要生成新的机器人,请考虑使用 Microsoft Copilot Studio 并阅读选择正确的助理解决方案

有关详细信息,请参阅机器人构建的未来

先决条件

若要使用 Azure CLI 预配和发布机器人,需要:

  • 具有活动订阅的 Azure 帐户。 创建试用版订阅

  • 安装 Azure CLI

    对于编程语言,请使用以下版本的 Azure CLI。 某些步骤不适用于更高版本的 CLI。

    语言 CLI 版本
    C# 和 JavaScript 2.39.0 或更高版本
    Python 2.55.0 或更高版本
    Java 2.29.2
  • 此过程使用 Azure 资源管理器 模板(ARM 模板)为机器人创建应用程序服务资源。

    如果没有当前模板,请在 deploymentTemplates 文件夹的机器人项目中创建副本:C#JavaScriptPythonJava

提示

这是预配和发布机器人整个流程的一部分。 了解如何 预配和发布机器人 以获取完整先决条件列表。

编辑参数文件

编辑 ARM 模板的参数文件,以包含要使用的值。

重要

必须为App 服务和 Azure 机器人资源使用相同的appType值。

如果项目尚不包含最新的 ARM 模板和参数文件,则可以从 Bot Framework SDK 存储库中复制它们,用于语言: C#JavaScriptPythonJava

下表介绍参数文件中的 部署参数 ,以便与命令选项一起使用 parameters 。 默认情况下,参数文件的名称是 parameters-for-template-BotApp-with-rg.json

参数 类型 说明
appServiceName 字符串 必需。 应用程序服务的全局唯一名称。
existingAppServicePlanName 字符串 可选。 为机器人创建应用程序服务的现有应用服务计划的名称
existingAppServicePlanLocation 字符串 可选。 现有应用服务计划的位置。
newAppServicePlanName 字符串 可选。 应用服务计划的名称。
newAppServicePlanLocation 字符串 可选。 应用服务计划的位置。
newAppServicePlanSku 对象 可选。 应用服务计划的 SKU。 默认值为 S1(标准)服务计划。
appType 字符串 必需。 如何管理机器人资源的标识。 允许的值:“MultiTenant”、“SingleTenant”和“UserAssignedMSI”。 默认值为“MultiTenant”。
appId 字符串 必需。 前面创建的标识资源的客户端 ID 或应用 ID。 这用作应用程序服务的 Microsoft 应用 ID。
appSecret 字符串 可选。 对于单租户和多租户应用类型,标识资源的密码。
UMSIName 字符串 可选。 对于用户分配的托管标识应用类型,为标识资源的名称。
UMSIResourceGroupName 字符串 可选。 对于用户分配的托管标识应用类型,为标识资源的资源组。
tenantId 字符串 可选。 对于用户分配的托管标识和单租户应用类型,为标识资源的 Microsoft Entra ID 租户 ID。

并非所有参数都适用于所有应用类型。

  • UMSINameUMSIResourceGroupNametenantId 提供值。
  • appSecret 留空。

某些参数特定于使用现有或新的应用服务计划。

  • existingAppServicePlanNameexistingAppServicePlanLocation 提供值。
  • newAppServicePlanNamenewAppServicePlanLocationnewAppServicePlanSku 留空。

创建应用程序服务

为机器人创建应用程序服务。

az deployment group create --resource-group <resource-group> --template-file <template-file-path> --parameters "@<parameters-file-path>"
选项 说明
resource-group 要在其中创建任务的 Azure 资源组的名称。
template-file 应用程序服务的 ARM 模板的路径。 路径可以是相对路径或绝对路径。
parameters 要用于 ARM 模板的参数文件的路径。 路径可以是相对路径或绝对路径。

对于使用最新生成器创建的项目,ARM 模板和参数文件位于项目中的 DeploymentTemplates\DeployUseExistResourceGroup 文件夹中。 默认文件名为 template-BotApp-with-rg.jsonparameters-for-template-BotApp-with-rg.json

提示

  • 应用程序服务的基 URL 基于应用程序服务名称: https:<app-service-name>.chinacloudsites.cn
  • 机器人的消息传送终结点将是基 URL 再加上 /api/messages,例如 https:<app-service-name>.chinacloudsites.cn/api/messages

其他信息

有关 ARM 模板的详细信息,请参阅什么是 ARM 模板?以及如何通过 Azure CLI 使用 Azure 资源管理器 (ARM) 部署模板。

后续步骤

如果在机器人部署过程中创建了应用程序服务,请参阅使用 ARM 模板创建资源以继续该过程。