/ / Bot funziona localmente ma non risponde sul servizio Bot: node.js, azzurro, cloud, botframework, azzurro-bot-service

Bot funziona localmente ma non risponde sul servizio Bot - node.js, azure, cloud, botframework, azure-bot-service

Ho un bot configurato per l'integrazione continuavia VSTS. Il bot è in esecuzione su un piano di servizio app (solo recentemente ho capito che i robot del piano di consumo funzionano come funzioni). Ho un bot funzionante nel cloud su Consumption ma limita la mia capacità di espansione.

Per questo bot, ho fatto una distribuzione pulita di un promptbot - ma provando ad eseguirlo nel cloud ha prodotto un errore di dialogo. Così ho commentato il codice del prompt e l'ho trasformato in un eco-bot. Funziona ancora bene localmente, ma nessuna risposta dal servizio. Ho tentato di accedere a una console Kudu e di eseguire l'installazione manuale di npm ma non è stato d'aiuto. Il tentativo di eseguire manualmente il bot in kudu causa un errore di richiesta non valida.

Node versione 6.11.2. La struttura dei file include tutti i file forniti dal servizio Bot al momento della distribuzione iniziale, compresi iisnode e web.config.

Ecco la mia app.js e package.json. Qualcun altro ha problemi con i bot localmente validi che non rispondono alla distribuzione del cloud? Qualche trucco che non ho provato?

AGGIORNAMENTO: trovato questo errore che si attiva tramite il flusso di log di Azure, ma non so come risolverlo. Errore: richiesta a "https://state.botframework.com/v3/botstate/webchat/conversations/(snip)"non riuscito: [500] Errore interno del server a 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"
}
}

risposte:

0 per risposta № 1

Ci sono voluti un sacco di scavi, ma una volta trovato l'errore registrato mi ha portato ad una discussione su un problema che il servizio Bot stava avendo la scorsa settimana con l'ambiente di stato di prototipazione: https://github.com/Microsoft/BotBuilder/issues/3463

Ho trovato alcuni vicoli ciechi che cercavano di far funzionare la mia memoria di stato, ma questo articolo alla fine mi ha reso funzionale: https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-state-azure-table-storage

Account di archiviazione Azure creato, utilizzato sopra l'articoloper metterlo a strati nel tuo bot. Interrompe il collegamento al servizio di gestione dello stato di prototipazione (apparentemente ancora rotto). Una volta completato questo passaggio, la chat web funziona.