使用云通信 API 注册机器人
可以使用 Microsoft Graph 中的云通信 API 构建机器人,以响应客户需求和促进协作。 本文介绍如何注册机器人,然后管理机器人的状态。
先决条件
在开始之前,请先熟悉以下主题:
- Microsoft Entra ID (Microsoft Entra ID) 以及该服务如何帮助员工登录和访问资源。
- Azure 机器人服务及其功能。
注册机器人
术语“服务应用程序”和“机器人”可以互换使用。 可以直接通过Azure 门户创建机器人,也可以注册不在 Azure 上托管的机器人。 有关详细信息,请参阅 注册呼叫机器人。
为了方便以后操作,了解Microsoft Entra ID中的不同类型的权限会很有帮助。 具有委派权限的应用需要已登录用户。 基于应用程序的权限不需要已登录用户,通常可以作为后台服务运行。
注册机器人后,如果要将 机器人添加到 Microsoft Teams,请确保了解如何 使用适用于团队的开发人员门户 并定义所需的元数据。
管理机器人的状态
注册机器人后,确定希望基于音频和视频的媒体是 应用程序托管还是服务托管。 概括而言,这涉及决定是否要访问原始媒体的实时流。
接下来,可以决定机器人是 有状态的还是无状态的。
无状态机器人
任何虚拟机都可以处理任何机器人实例,这意味着,如果一台计算机出现故障,另一台计算机可以处理它。 这提供了一个可复原的解决方案。
另一方面,共享缓存(如 REDIS)需要可供所有虚拟机访问。
有状态机器人
虚拟机一次只能处理一个机器人实例。 由于所有状态都在一台计算机上,因此没有任何额外的内存或 REDIS 缓存检查。
缺点是它没有弹性,因为机器人实例只是在一台计算机上。
注意
服务托管的媒体机器人可以是有状态的或无状态的。 应用程序托管的媒体机器人必须有状态才能使用 机器人媒体 SDK。
使用 SDK
以下 SDK 在 C# 中可用。 将来,我们将为其他语言提供支持。
- 如果使用 无状态 机器人,请安装 Graph Communications Core SDK。
- 如果使用 有状态 机器人,请安装 Graph 通信通话 SDK。
示例
了解如何使用有状态机器人实现不同的方案,例如使用应用程序托管媒体或服务托管媒体 应答传入呼叫 。
有关更多示例,请参阅 通信示例存储库。
隐私与合规性
在对 API 的请求中,敏感数据不应在客户端生成的 ID 中发送, (如标头或请求正文中) 的方案 ID、请求 ID 或其他相关 ID。 这些 ID 记录在服务器端,以便诊断。