在Bot框架上创建直线通道并与Postman进行测试



我一直在测试一些botbuilder示例在python与Bot框架模拟器,都在本地主机上。但为了了解沟通是如何发生的,我决定通过邮差通过直线3.0提出请求。尽管能够创建对话,发送消息和接收对话的活动,但我不能通过Postman为我的bot创建直线通道,只能通过bot框架模拟器。

执行以下步骤进行测试:

  1. 我在我的计算机上运行任何python Bot框架示例端口3978

Bot在3978上运行

  1. 我通过端口3978在Bot框架模拟器中打开对话。(此时,模拟器告诉我它在端口49780上打开了一个服务。)

模拟器监听http://[:]: 49780

  1. 我通过Postman在端口49780上发出直线请求以创建会话。

我想做的第2步不使用Bot框架模拟器,无论是通过REST API或通过Python代码。

步骤2实际上并不是关于创建对话。它更多地与模拟器创建一个隧道来模拟bot和Azure bot服务之间的连接有关。这不是您在实际部署场景中可以控制的。在正确的部署中,Azure Bot服务将自动处理从各种通道到Bot的消息传递端点的路由消息。您所需要做的就是像往常一样通过直线与机器人通信。

由于Direct Line需要Azure Bot资源来运行(模拟器可以很好地模拟),因此在没有模拟器的情况下测试它的唯一方法是创建一个Azure Bot资源,使用类似ngrok的东西创建一个安全隧道,并将ngrok URL设置为Azure中的消息传递端点。此时,直接线路消息应该到达您的机器人。

最新更新