【发布时间】:2020-10-05 17:38:36
【问题描述】:
我需要使用遥测技术向 QnA 用户发送有关我的 Azure 机器人见解的问题和答案。已经尝试过这个教程:
这个 SO 帖子:
- How to get the Qna Maker "Q" from Analytics Application Insights?
- How can I save some custom qna maker data in azure app insights?
问题是,首先它是为 LUIS 完成的,并且没有向 Insights 提供任何其他信息,也没有为 QnA 提供任何内容......第二个是为 C# 编写的......
我需要使用 NodeJS 在 Azure 见解上向 customEvents 日志发送问题和答案,但我找不到方法,有什么帮助吗?
提前致谢。
///// 编辑:
这是我到目前为止所得到的(仅发布了与遥测和 QnA 相关的代码,这些代码已经可以正常工作):
索引.js
const { ApplicationInsightsTelemetryClient, TelemetryInitializerMiddleware } = require('botbuilder-applicationinsights');
const { TelemetryLoggerMiddleware } = require('botbuilder-core');
function getTelemetryClient(instrumentationKey) {
if (instrumentationKey) {
return new ApplicationInsightsTelemetryClient(instrumentationKey);
}
return new NullTelemetryClient();
}
const server = restify.createServer();
server.use(restify.plugins.bodyParser());
var telemetryClient = getTelemetryClient(process.env.InstrumentationKey);
var telemetryLoggerMiddleware = new TelemetryLoggerMiddleware(telemetryClient);
var initializerMiddleware = new TelemetryInitializerMiddleware(telemetryLoggerMiddleware);
adapter.use(initializerMiddleware);
const mybot = new MYBOT(conversationState,userState, telemetryClient);
mybot.js
class MYBOT extends ActivityHandler {
constructor(conversationState,userState,telemetryClient) {
super();
this.conversationState = conversationState;
this.userState = userState;
this.telemetryClient = telemetryClient;
}
}
//This is how I get my qna result:
console.log(this.telemetryClient);
var result = await this.qnaMaker.getAnswers(context);
如您所见,我将 telemetryClient 传递给 bot 文件,如果我在控制台记录该项目,我将获得完整的遥测对象,但我如何将用户问题和答案传递给它,以便节省洞察力 customevents ??
【问题讨论】:
标签: node.js azure-application-insights botframework