Bot Framework Service和Bot Connector Service是否都相同?还是Bot Framework Service是Bot Connector Service之上的一层?我很困惑,因为它们可以互换使用。
我了解Bot Framework网络聊天组件使用直接api通过Bot Framework Service / Bot连接器服务与机器人进行通信。但是Bot Framework Service是否实现了直线协议来理解Web Chat的请求?有人可以给我完整/端到端的图片吗?
谢谢!
我同意文档令人困惑,并且这些术语可以互换使用。实际上,当您深入了解Bot Framework端的处理方式时,Bot Framework Service和Bot Connector Service是两个不同的术语。如果您查看网站上已有的文档,
Bot Connector服务使您的机器人可以与Bot Framework Portal中配置的通道交换消息。它使用行业标准的REST和HTTPS上的JSON,并启用JWT Bearer令牌进行身份验证。
Bot Framework Service是Azure Bot Service的组件,它在用户的与机器人连接的应用程序(例如我们称为频道的Facebook,Skype,Slack等)与机器人之间发送信息。
现在到了差异,
Bot Framework Service位于云中,并以本地bot代码可以理解的形式承担将数据从多个受支持通道的API转换为Bot Framework协议的作用。这样,您的漫游器就可以与多个渠道进行通信,而无需了解数据来自哪个渠道。客户端实际上是对Bot Framework Service进行REST调用,特别是BotFrameworkAdapter类中的CreateConnectorClient()方法,该方法将出站请求发送回Bot Framework Service,最终与通道进行对话。
Bot Framework Service既可以入站也可以出站,而Bot Connector Service仅可以出站。Bot连接器服务通过传递活动对象在机器人与通道(用户)之间交换信息。当您的漫游器向Bot连接器服务发送请求时,它必须包含连接器服务可用来验证其身份的信息。同样,当连接器服务向您的机器人发送请求时,它必须包含该机器人可以用来验证其身份的信息。
如果您查看此流程图,它将说明主要的bot逻辑。
该图解释了步骤的BOT到连接器的认证。
此图说明了从连接器到机器人的身份验证的步骤。
注意:我们目前正在使用更详细的信息和流程图来更新文档,以帮助用户了解Azure Bot Service的每个组件。链接发布后,我将使用更新的链接来更新线程。
希望这可以帮助。
这非常有帮助。当您说“ Bot Connector服务使漫游器能够交换消息”时,它仅仅是身份验证还是跟踪会话,发件人,频道详细信息?如何跟踪对话/活动?它是单独的流程吗?
如上所述,@ AlbieMorken,Bot连接器服务通过传递Activity对象来交换信息。如果您查看活动对象属性,则它包含对话,操作,channelId,channelData,suggestedActions,附件等。
另外,请注意消息是最常见的活动类型,您可以参考此文档以了解Bot Connector服务中的活动类型。