没有Azure的Bot框架可能吗?

Rea*_*per 34 bots azure botframework

如果我建立一个机器人与微软博特框架,做我需要部署我的机器人,以便注册我的机器人到Azure 这里以配置机器人的渠道?或者我可以简单地将我的机器人部署到正常(例如)IIS服务器?

我无法找到关于这个toppic的任何信息,我不想使用Azure.

Eze*_*dib 45

是的,它应该可以运行在IIS或任何其他托管服务(包括除了Azure云hostings)作为解释的机器人在这里.您必须确保您的机器人具有可通过Internet访问的端点和有效的HTTPS证书.

关于HTTPS证书的要求,我正在复制此帖子的信息供您参考:

Bot框架要求您的端点公开的x.509v3证书是最新且有效的."当前和有效"的大多数检查是服务器证书的标准检查:CN必须与主机名匹配,不得过期,不得在CRL中列出,必须具有正确的EKU集等.

最重要的是,您的证书必须链接到Microsoft信任的根证书颁发机构.这里提供了这些CA的最新列表.

此外,您可以注册机器人甚至启用通道,而无需部署到Azure或任何其他主机.您可以临时使用ngrok创建到localhost环境的安全隧道,并在将其暴露给其他用户之前在您的电子邮件通道中测试该bot.顺便说一句,您不需要在BotFramework门户中发布您的机器人,只需注册它.发布仅适用于那些想要出现在Bot目录中的机器人.

  • 是的,我知道IIS是什么:)但我希望在解决您的特定请求(IIS)以及潜在的其他类似问题的答案中是通用的 (3认同)
  • 没关系.Botframework不需要托管在azure上,但您需要在azure中配置bot通道注册.没有远离它.是正确的? (3认同)

Lia*_*han 5

你需要在 Azure 上有一个帐户,但不需要直接在 Azure 上托管你的机器人。登录到 Azure 仪表板时有三个选项:Web 应用程序机器人、函数机器人和机器人通道注册。选择 Bot Channels Registration 并在设置中键入您的机器人的 https URL(您部署它的位置)。

或者,如果您想直接从 Messenger(而不是模拟器)调试您的机器人,您可以下载 ngrok,然后输入命令行

ngrok.exe http <your port> -host-header="localhost:<your port>
Run Code Online (Sandbox Code Playgroud)

然后在 Bot Channels Registration 设置中输入 ngrok 代理 URL(不带端口)。在几个小时内,该临时地址将转发到您的本地主机。