У меня есть бот, настроенный на непрерывную интеграцию через VSTS. Бот работает в плане службы приложений (я только недавно понял, что боты плана потребления работают как функции). У меня есть работающий бот в облаке на потреблении, но это ограничивает мои возможности расширения.
Для этого бота я выполнил чистое развертывание бота Prompt, но попытка запустить его в облаке привела к диалоговой ошибке. Поэтому я закомментировал код подсказки и превратил его в эхо-бота. Локально работает нормально, но сервис не отвечает. Пробовал войти в консоль Kudu и запустить ручную установку npm, но это не помогло. Попытка вручную запустить бота в куду вызывает ошибку Bad Request.
Версия узла 6.11.2. Дерево файлов включает все файлы, предоставляемые службой Bot во время первоначального развертывания, включая iisnode и web.config.
Вот мои app.js и package.json. Кто-нибудь еще сталкивался с проблемами, когда локальные боты не реагировали на развертывание в облаке? Есть какие-то трюки, которые я не пробовал?
ОБНОВЛЕНИЕ. Обнаружена эта ошибка в потоке журналов Azure, но не знаю, как ее исправить. Ошибка: запрос на 'https://state.botframework.com/v3/botstate/webchat/conversations/(snip)' не удалось: [500] Внутренняя ошибка сервера при запросе._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 вы используете? - person Aaron Chen   schedule 15.09.2017