如何使用CLI将Microsoft botbuilder nodejs应用程序部署到Azure?

时间:2018-10-04 13:07:18

标签: node.js azure botframework

我正在尝试将basic-bot Microsoft Botbuilder示例应用程序部署到Azure。

我首先通过Azure仪表板创建了一个新的botbuilder node.js示例应用程序,然后我成功地按照说明here下载并重新部署了该应用程序。

然后,我尝试将已下载的示例应用程序中的部署脚本和.env文件复制到基本机器人应用程序中,并尝试使用az bot publish命令从上面的链接进行发布。这样就成功部署了基本机器人应用程序,但是现在部署的应用程序返回500个错误。最初,这500个错误是由未安装“ botbuilder-ai” nodejs软件包引起的。我通过Azure控制台手动安装了此程序包,该错误消失了。但是该应用程序继续抛出500个错误,而没有生成堆栈跟踪,因此我无法确定原因。

我发现的唯一一个official documentation解释了如何部署该漫游器,专门用于C#和Visual Studio。是否可以使用azure CLI将Bot部署到Node.js应用的azure?

谢谢。

1 个答案:

答案 0 :(得分:0)

  

是否有一种方法可以使用   蔚蓝的CLI?

是的。您可以在发布漫游器时为所有可用选项键入az bot publish -h。以下是一些使其工作的提示:

  • 您将需要使用az login
  • 登录到Azure
  • 确保您设置了有效的订阅。键入az account set -h以获得帮助。使用az account list查看您的订阅选择,使用az account show查看当前的活动订阅
  • 如果将要发布的资源组设置为默认资源,发布会更容易。与活动订阅不同,注销时不会重置配置的默认值。使用az configure查看当前的默认值,使用az configure -h查看如何设置默认资源组
  • 如果您发布并显示Not a valid azure publish directory. missing post deploy scripts,那么您的bot文件夹中将需要一个PostDeployScripts文件夹

deploymentScripts文件夹中有一些instructions可能对您有所帮助。请注意,作为Azure CLI的替代方法,您还可以使用Azure App Service扩展从Visual Studio Code发布。

如果发布成功,并且尝试在Web Chat中进行测试时遇到错误,则有时Azure需要进行一些操作。当我检查“频道”刀片时,它说网络聊天遇到有关丢失文件的错误。我尝试了一些故障排除步骤,并最终在没有任何实际更改的情况下使它正常工作。

  • 尝试从在线门户中注销您的Azure帐户,然后重新登录
  • 尝试在“构建”刀片中的在线代码编辑器中运行代码
  • 尝试再次发布

关于尝试重新利用下载的源代码以部署基本机器人示例的特定情况,您需要了解一些事情。 .bot文件非常重要,因为它包含有关该bot使用的所有服务的信息,但是basic-bot.bot不包含任何必需的信息。除了部署脚本和.env文件之外,您还需要复制.bot文件。但是,基本机器人的bot.js期望.bot文件包含名为“ basic-bot-LUIS”的LUIS服务,因此您需要进入bot.js代码并将LUIS_CONFIGURATION的值更改为LUIS服务的名称在您的.bot文件中(如果您下载了V4基本Bot NodeJS代码并保持不变,则为“ BasicBotLuisApplication”)。在尝试发布基本机器人示例之前,请确保可以在本地运行该示例。