你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 创建 应用程序服务资源
适用于: SDK v4
本文介绍如何使用 Azure CLI 和 Azure 资源管理器 模板(ARM 模板)创建应用程序服务资源,作为预配和发布机器人过程的一部分。 应用程序服务有时称为 Web 应用。
重要
不能将 Python 机器人部署到包含 Windows 服务或机器人的资源组。 可以将多个 Python 机器人部署到同一资源组,但需要在另外的资源组创建其他服务(比如 Azure AI 服务)。
- 有关完整过程的信息,请参阅如何 预配和发布机器人。
- 有关如何创建 Azure 机器人资源的信息,请参阅 使用 Azure CLI 创建 Azure 机器人资源。
注意
Bot Framework JavaScript、C# 和 Python SDK 将继续受支持,但 Java SDK 即将停用,最终长期支持将于 2023 年 11 月结束。
使用 Java SDK 构建的现有机器人将继续正常运行。
要生成新的机器人,请考虑使用 Microsoft Copilot Studio 并阅读选择正确的助理解决方案。
有关详细信息,请参阅机器人构建的未来。
先决条件
若要使用 Azure CLI 预配和发布机器人,需要:
具有活动订阅的 Azure 帐户。 创建一个免费帐户。
-
对于编程语言,请使用以下版本的 Azure CLI。 某些步骤不适用于更高版本的 CLI。
语言 CLI 版本 C# 和 JavaScript 2.39.0 或更高版本 Python 2.55.0 或更高版本 Java 2.29.2
此过程使用 Azure 资源管理器 模板(ARM 模板)为机器人创建应用程序服务资源。
如果没有当前模板,请在 deploymentTemplates 文件夹的机器人项目中创建副本:C#、JavaScript、Python 或 Java。
提示
这是预配和发布机器人整个流程的一部分。 了解如何 预配和发布机器人 以获取完整先决条件列表。
编辑参数文件
编辑 ARM 模板的参数文件,以包含要使用的值。
重要
必须为App 服务和 Azure 机器人资源使用相同的appType
值。
如果项目尚不包含最新的 ARM 模板和参数文件,则可以从 Bot Framework SDK 存储库中复制它们,用于语言: C#、 JavaScript、 Python 或 Java。
下表介绍参数文件中的 部署参数 ,以便与命令选项一起使用 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。 |
并非所有参数都适用于所有应用类型。
某些参数特定于使用现有或新的应用服务计划。
- 为
existingAppServicePlanName
和existingAppServicePlanLocation
提供值。 newAppServicePlanName
、newAppServicePlanLocation
和newAppServicePlanSku
留空。
创建应用程序服务
为机器人创建应用程序服务。
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.json 和 parameters-for-template-BotApp-with-rg.json。
提示
- 应用程序服务的基 URL 基于应用程序服务名称:
https:<app-service-name>.azurewebsites.net
。 - 机器人的消息传送终结点将是基 URL 再加上
/api/messages
,例如https:<app-service-name>.azurewebsites.net/api/messages
。
其他信息
有关 ARM 模板的详细信息,请参阅什么是 ARM 模板?以及如何通过 Azure CLI 使用 Azure 资源管理器 (ARM) 部署模板。
后续步骤
如果在机器人部署过程中创建了应用程序服务,请参阅使用 ARM 模板创建资源以继续该过程。