/ / Bot працює локально, але не відповідає на службу Bot - node.js, лазур, хмара, botframework, лазур бот-сервіс

Bot працює локально, але не відповідає на службу Bot - node.js, лазур, хмара, botframework, лазур бот-сервіс

Я встановив бот для безперервної інтеграціїчерез VSTS. Бот запускається на плані обслуговування додатків (я нещодавно з'ясував, що ботове планування витрат виконується як функції). У мене є робочий бот у хмарі на споживанні, але це обмежує мою здатність розширюватися.

Для цього бота я зробив чистий розгортання підказкибот - але спроба запустити його в хмарі дало помилку діалогу. Тому я прокоментував коментар "Простий" і перетворив його в ехо-бот. Все ще добре працює локально, але немає відповіді від сервісу. Ви намагаєтеся ввійти в консоль Kudu і запустити установку npm, але вона не допомогла. Спроба вручну запустити бот в kudu викликає помилку Bad Request.

Вузол версії 6.11.2. Дерево файлів містить усі файли, надані службою Bot у момент початкового розгортання, включаючи iisnode та web.config.

Ось моя app.js і package.json. Хто-небудь ще зіткнувся з проблемами з локально правильними ботами, які не реагують на розгортання хмари? Будь-які прийоми, яких я не намагався?

UPDATE: виявлено цю помилку за допомогою журналу 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);
});

Package.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"
}
}

Відповіді:

0 для відповіді № 1

Знадобилася тонна копання, однак, коли я знайшов помилку, яка вставила журнал, вона привела мене до нитки про проблему, яку Bot Service провела минулого тижня за допомогою прототипів державного середовища: https://github.com/Microsoft/BotBuilder/issues/3463

Я знайшов декілька тупих кінців, намагаючись отримати моє власне накопичувальне стан та працювати, але ця стаття зрештою стала мені функціональною: https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-state-azure-table-storage

Створено обліковий запис для зберігання Azure, використане вище статтіщоб покласти його у свій бот. Розбиває посилання на службу державного управління прототипом (мабуть, все ще зламана). Після завершення цього кроку працює веб-чат.