/ / Bot работи локално, но не реагира на Bot Service - node.js, azure, cloud, botframework, azure-bot-service

Bot работи локално, но не реагира на Bot Service - node.js, azure, cloud, botframework, azure-bot-service

Имам ботове, създадени за непрекъсната интеграциячрез VSTS. Ботът работи на план за обслужване на приложенията (едва неотдавна разбрах, че ботовете за планиране на потреблението работят като функции.) Имам работещ бот в облака за потреблението, но това ограничава способността ми да се разширявам.

За този бот, аз направих чисто разгръщане на Promptbot - но се опитва да го стартира в облака, носеше диалогова грешка. Така че аз коментирам Бърз кода и го превърнах в ехо ботове. Все още работи добре на местно ниво, но няма отговор от службата. Опитвах се да вляза в конзолата на Kudu и да стартирам ръчно инсталиране на npm, но това не помогна. Опитът за ръчно управление на бот в куду причинява грешка при грешно запитване.

Версия на възел 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);
});

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 акаунт за съхранение, използван по-гореза да слой това в своя бот. Прекъсва връзката към услугата за държавно управление на прототипи (очевидно все още разбита). След като тази стъпка бъде завършена, уеб чатът работи.