适用于:SDK v4
使用“Azure 机器人”资源(“机器人资源”),可以将机器人注册到 Azure AI 机器人服务,并将机器人连接到通道。 可以构建、连接和管理机器人,以便与用户随时随地交互,可以通过应用或网站,以及 Teams、Messenger 和许多其他通道进行交互。
本文介绍了如何通过 Azure 门户创建机器人资源。
- 若要了解如何创建机器人,请参阅使用 Bot Framework SDK 创建机器人快速入门。
- 有关如何预配机器人并将其发布到 Azure 的信息,请参阅如何在 Azure 中部署机器人。
管理资源
创建机器人资源时,Azure 会创建关联的资源。 创建的一些资源取决于你决定如何管理机器人的标识。
可以通过多种方式在 Azure 中管理机器人的标识:
- 作为 用户分配的托管标识,因此无需手动管理凭据。
- 作为单租户应用。
- 作为单租户应用。
注意
- Bot Framework SDK for C#、JavaScript 和 Python 中提供了对 用户分配的托管标识 和 单租户 应用类型的支持。
- 其他 SDK 语言、Bot Framework Composer、Bot Framework Emulator 或开发隧道 不支持 这些应用类型。
重要
- 多租户机器人创建将在 2025 年 7 月 31 日之后弃用。
- 现有的多租户机器人将继续正常运行,但在此日期之后将不再支持新的多租户机器人创建。
- 若要确保持续支持,请今后使用 单租户 或 用户分配的托管标识 。
支持的应用类型
| 应用类型 | 支持在 |
|---|---|
| 用户分配的托管标识 | Azure AI 机器人服务;C#、JavaScript 和 Python SDK |
| 单租户 | Azure AI 机器人服务;C#、JavaScript 和 Python SDK |
| 多租户 (已弃用 - 于 2025 年 7 月 31 日结束) | Azure AI 机器人服务;所有 Bot Framework SDK 语言;Composer;Emulator;Dev Tunnels |
先决条件
- 如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
- 对用户分配的托管标识和单租户机器人,需要版本 4.15.0 或更高版本的 Bot Framework SDK(适用于 C# 和 JavaScript)。
创建资源
创建 Azure 机器人资源,以便将机器人注册到 Azure AI 机器人服务。
提示
无法创建新的 Web 应用机器人和机器人通道注册资源;但是,已配置和部署的任何此类现有资源将继续有效。 使用(从 SDK 版本 4.14.1.2 或更高版本创建的)VSIX 或 Yeoman 模板创建的机器人包含将生成 Azure 机器人资源的 ARM 模板。
转到 Azure 门户。
在右窗格中,选择“创建资源”。
在搜索框中,键入
bot,然后按 Enter。选择 Azure 机器人卡。
选择创建。
在必填字段中输入值,并检查和更新设置。
在“项目详细信息”下提供信息。 选择机器人是具有全局数据驻留还是本地数据驻留。 有关详细信息,请参阅 Azure AI 机器人服务中的区域化。
在“Microsoft 应用 ID”下提供信息。 选择如何在 Azure 中管理机器人标识,以及是创建新的标识还是使用现有标识。
选择“查看 + 创建”。
验证通过后,选择“创建”。
部署完成后,请选择“转到资源”。 应会看到所选资源组中列出的机器人和相关资源。
如果还没有 Bot Framework SDK,请选择“从 GitHub 下载”,了解如何使用首选语言的包。
现在,你已经准备好使用 Bot Framework SDK 生成机器人。
提示
当 Azure 使用新的应用 ID 创建新的单租户或多租户 Azure 机器人资源时,它还会生成密码。
机器人标识信息
按照以下步骤将标识信息添加到机器人的配置文件。 文件因用于创建机器人的编程语言而异。
重要
- Bot Framework SDK 的 Java 版本仅支持 多租户 机器人。
- C#、JavaScript 和 Python 版本支持所有三种应用程序类型来管理机器人的标识。
| 语言 | 文件名 | 备注 |
|---|---|---|
| C# | appsettings.json | 支持所有三种应用程序类型来管理机器人的标识。 |
| JavaScript | .env | 支持所有三种应用程序类型来管理机器人的标识。 |
| Java | application.properties | 仅支持多租户机器人。 |
| Python | config.py | 支持所有三种应用程序类型来管理机器人的标识。 |
需要添加的标识信息取决于机器人的应用程序类型。 提供配置文件中的以下值。
适用于 C#、JavaScript 和 Python 机器人。
| 属性 | 值 |
|---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
用户分配的托管标识的客户端 ID。 |
MicrosoftAppPassword |
不适用。 此处为用户分配的托管标识机器人保留空白。 |
MicrosoftAppTenantId |
用户分配的托管标识的租户 ID。 |
若要更新应用程序服务
如果机器人具有现有的App 服务资源(Web 应用),并且机器人是用户分配的托管标识应用程序,则可能需要更新机器人的应用程序服务:
转到机器人 Web 应用的“应用程序服务”边栏选项卡。
在“设置”下选择“标识”。
在“标识”边栏选项卡上,选择“用户分配”选项卡和“添加”(+)。
在 “添加用户分配的托管标识 ”边栏选项卡上:
选择订阅。
对于用户分配的托管标识,请选择机器人的托管标识。 如果自动生成托管标识,它将与机器人同名。
选择“添加”以将此标识用于机器人。
若要获取应用或租户 ID
若要获取机器人的应用或租户 ID:
转到机器人的“Azure 机器人”资源边栏选项卡。
转到机器人的“配置”边栏选项卡。
在此边栏选项卡中,可以复制机器人的“Microsoft 应用 ID”或“应用租户 ID”。
若要生成新密码
单租户和多租户机器人具有某些操作所需的应用机密或密码。 Azure AI 机器人服务会隐藏机器人机密。 但是,机器人的应用程序服务资源的所有者可以生成新密码:
转到机器人的“Azure 机器人”资源边栏选项卡。
转到机器人的“配置”边栏选项卡。
选择 Microsoft 应用 ID 旁边的管理,转到应用程序服务的证书 + 机密边栏选项卡。
按照边栏选项卡上的说明创建新的客户端密码,并将值记录在安全的位置。
其他信息
- 有关使用 Microsoft Entra ID 进行标识管理的信息,请参阅什么是 Microsoft Entra ID?。
- 有关 Azure 应用程序服务和应用程序服务计划的详细信息,请参阅应用程序服务概述。
- 有关 Azure 资源和一般管理方式的详细信息,请参阅 Azure Resource Manager 概述。
注意
Bot Framework Composer 和 Bot Framework Emulator 目前仅支持多租户机器人。 对于用户分配的托管标识和单租户机器人,需要版本 4.15.0 或更高版本的 Bot Framework SDK(适用于 C# 和 JavaScript)。
技能支持
某些类型的技能使用者无法使用某些类型的技能机器人。 下表介绍支持的组合方式。
| 多租户技能 | 单租户技能 | 用户分配的托管标识技能 | |
|---|---|---|---|
| 多租户使用者 | 支持 | 不支持 | 不支持 |
| 单租户使用者 | 不支持 | 如果两个应用都属于同一租户,则受支持 | 如果两个应用都属于同一租户,则受支持 |
| 用户分配的托管标识使用者 | 不支持 | 如果两个应用都属于同一租户,则受支持 | 如果两个应用都属于同一租户,则受支持 |
有关如何配置技能或技能使用者的信息,请参阅实现技能或实现技能使用者。