【问题标题】:Bot Framework Service vs Bot Connector ServiceBot 框架服务与 Bot 连接器服务
【发布时间】:2020-05-15 23:52:40
【问题描述】:

Bot Framework Service 和 Bot Connector Service 是否相同?或者 Bot Framework Service 是 Bot Connector Service 之上的一层?我很困惑,因为它们可以互换使用。

我了解 Bot Framework Web Chat 组件使用直线 api 通过 Bot Framework Service/Bot Connector Service 与 bot 进行通信。但是 Bot Framework Service 是否实现了直线协议来理解来自网络聊天的请求?有人可以给我一张完整/端到端的图片吗?

谢谢!

【问题讨论】:

    标签: botframework direct-line-botframework web-chat


    【解决方案1】:

    我同意文档非常混乱,并且这些术语可以互换使用。实际上,当您深入了解 Bot Framework 端的处理方式时,Bot Framework Service 和 Bot Connector Service 是两个不同的术语。如果您查看网站上已有的文档,

    Bot 连接器服务使您的机器人能够与在 Bot 框架门户中配置的通道交换消息。它通过 HTTPS 使用行业标准的 REST 和 JSON,并支持使用 JWT Bearer 令牌进行身份验证。

    Bot Framework Service 是 Azure Bot Service 的一个组件,在用户的 bot 连接的应用程序(如 Facebook、Skype、Slack 等,我们称之为通道)和 bot 之间发送信息。

    现在来区别,

    Bot Framework 服务位于云端,负责将来自多个受支持通道的 API 的数据以您的本地 bot 代码可以理解的形式转换为 Bot Framework 协议。这允许您的机器人与多个通道进行通信,而无需了解数据来自哪个通道。客户端实际上对 Bot Framework Service 进行 REST 调用,特别是 BotFrameworkAdapter 类中的 CreateConnectorClient() 方法,它将出站请求发送回 Bot Framework Service,最终与通道对话。

    Bot Framework Service 既可用于入站也可用于出站,而 Bot 连接器服务仅可用于出站。 Bot 连接器服务通过传递 Activity 对象在 bot 和通道(用户)之间交换信息。当您的机器人向机器人连接器服务发送请求时,它必须包含连接器服务可用于验证其身份的信息。同样,当连接器服务向您的机器人发送请求时,它必须包含机器人可用于验证其身份的信息。

    如果你看一下这个流程图,它将解释主要的bot logic

    此图解释了用于 bot-to-connector 身份验证的 steps

    此图解释了用于连接器到机器人身份验证的 steps

    注意:我们目前正在努力更新我们的文档,提供更详细的信息和流程图,以帮助用户了解 Azure 机器人服务的每个组件。发布后,我将使用更新的链接更新主题。

    希望这会有所帮助。

    【讨论】:

    • 这很有帮助。当您说“机器人连接器服务使机器人能够交换消息”时,它只是单独进行身份验证还是还跟踪对话、发件人、频道详细信息?它如何跟踪对话/活动?它是一个单独的流程吗?
    • @AlbieMorken 如上所述,Bot 连接器服务通过传递 Activity 对象来交换信息。如果查看活动对象属性,它包含对话、操作、channelId、channelData、建议操作、附件等。
    • 另外,请注意,消息是最常见的活动类型,您可以参考this 文档了解机器人连接器服务中的活动类型。
    猜你喜欢
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2019-09-11
    • 2021-02-25
    • 1970-01-01
    相关资源
    最近更新 更多