【发布时间】:2017-09-19 05:16:45
【问题描述】:
我已经设置了一个机器人,用于通过 VSTS 进行持续集成。该机器人在应用服务计划上运行(我最近才发现消费计划机器人作为函数运行。)我在云端有一个在消费上工作的机器人,但它限制了我的扩展能力。
对于这个机器人,我做了一个 Prompt 机器人的干净部署 - 但试图在云中运行它会产生一个对话框错误。所以我注释掉了 Prompt 代码,把它变成了一个 echo bot。在本地仍然运行良好,但服务没有响应。尝试登录 Kudu 控制台并运行手动 npm install 但没有帮助。尝试在 kudu 中手动运行机器人会导致错误请求错误。
节点版本 6.11.2。文件树包含 Bot Service 在初始部署时提供的所有文件,包括 iisnode 和 web.config。
这是我的 app.js 和 package.json。是否有其他人遇到本地有效的机器人在云部署时没有响应的问题?有什么我没试过的技巧吗?
更新:发现此错误通过 Azure 日志流触发,但不知道如何解决。 错误:对“https://state.botframework.com/v3/botstate/webchat/conversations/(snip)”的请求失败:[500] 内部服务器错误 在 Request._callback
var dotenv = require('dotenv');
dotenv.load();
var restify = require('restify');
var builder = require('botbuilder');
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
});
// Listen for messages from users
server.post('/api/messages', connector.listen());
var bot = new builder.UniversalBot(connector, function (session, args) {
console.log("Initialized the bot.");
session.send("You said: %s", session.message.text);
});
包.json:
{
"name": "heretohelp-app",
"version": "1.0.0",
"description": "Azure bot",
"main": "app.js",
"dependencies": {
"applicationinsights": "^0.21.0",
"botbuilder": "^3.9.1",
"botbuilder-azure": "^3.0.2",
"dotenv": "^4.0.0",
"restify": "^5.2.0"
},
"devDependencies": {
"request": "^2.81.0",
"zip-folder": "^1.0.0"
}
}
【问题讨论】:
-
web.config文件是否在您应用的根目录中?您使用的是哪个 node.js 版本? -
节点版本 6.11.2。是的,web.config 在那里(冗长但未经编辑 - 使用服务放置在我的初始 zip 文件中的版本进行持续部署。)
-
你还在遇到这个问题吗?
-
是的,我仍然遇到此问题,在解决此问题之前仍无法继续使用 Bot Service。我已经广泛审查了文档并用尽了明显的路径。
-
当前行为是:bot 在本地运行,bot 未在 Bot 服务列表中显示问题,消息在 Web 控制台中显示为已发送,但未收到任何响应。使用日志流更新主 Q 时出现错误。
标签: node.js azure cloud botframework azure-bot-service