你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure CLI 创建或更新 Azure 机器人资源

适用于:SDK v4

本文介绍如何使用 Azure CLI 和 Azure 资源管理器模板(ARM 模板)创建或更新 Azure 机器人资源。

这是预配和发布机器人的更大流程的一部分。

注意

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 模板)为机器人创建 Azure 机器人资源。

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

提示

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

编辑参数文件

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

重要

创建应用程序服务和 Azure 机器人资源时,必须使用相同的 appTypeappId 值。

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

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

参数 类型 说明
azureBotId 字符串 必需。 机器人的全局唯一且不可变的句柄,例如 ContosoCustomerService
azureBotSku 字符串 可选。 Azure 机器人资源的 SKU。 允许的值:“F0”(免费)和“S1”(标准)。 默认值为“S1”。
azureBotRegion 字符串 可选。 Azure 机器人的位置。 允许的值:“global”、“westeurope”、“westus”和“centralindia”。 默认值为“global”。
botEndpoint 字符串 可选。 机器人的消息传送终结点,例如 https://<appServiceName>.azurewebsites.net/api/messages
appType 字符串 必需。 如何管理机器人资源的标识。 允许的值为:“MultiTenant”、“SingleTenant”和“UserAssignedMSI”。 默认值为“MultiTenant”。
appId 字符串 必需。 前面创建的标识资源的客户端 ID 或应用 ID。 这是应用程序服务的“Microsoft 应用 ID”。
UMSIName 字符串 可选。 对于用户分配的托管标识应用类型,为标识资源的名称。
UMSIResourceGroupName 字符串 可选。 对于用户分配的托管标识应用类型,为标识资源的资源组。
tenantId 字符串 可选。 对于用户分配的托管标识和单租户应用类型,为标识资源的 Microsoft Entra ID 租户 ID。

提示

必须先设置机器人的消息传送终结点,然后发布的机器人才能接收消息。

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

UMSINameUMSIResourceGroupNametenantId 提供值。

创建 Azure 机器人资源

若要为机器人创建 Azure 机器人资源,请使用以下命令。

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-AzureBot-with-rg.jsonparameters-for-template-AzureBot-with-rg.json

若要更新 Azure 机器人资源

若要添加或更新 Azure 机器人的消息传送终结点,请使用以下命令。

az bot update --resource-group <resource group> --name <azureBotId> --endpoint <messaging-endpoint>
选项 说明
resource-group 包含应用程序服务的 Azure 资源组的名称。
name 机器人的全局唯一且不可变的句柄。
endpoint 机器人的消息传送终结点,例如 https://<appServiceName>.azurewebsites.net/api/messages

其他信息

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

后续步骤

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