【问题标题】:how can we log bot and user conversation messages in azure sql database?我们如何在 azure sql 数据库中记录机器人和用户对话消息?
【发布时间】:2019-04-08 09:03:33
【问题描述】:

我使用 c# 在 microsoft botframework sdk v4 中创建了一个机器人,它运行良好。现在我想将这些对话消息记录到一个 azure sql 数据库中。我该怎么做??

提前致谢,

【问题讨论】:

    标签: c# logging botframework


    【解决方案1】:

    在 Bot Builder V4 中,ITranscriptLogger 已替换 IActivityLogger。

    您可以在此处找到实体框架实现:https://github.com/BotBuilderCommunity/botbuilder-community-dotnet/pull/78

    您可以创建一个 ITranscriptLogger 实现,该实现连接到 sql server 并从 LogActivityAsync 中的 Activity 中保留您想要的任何字段

        // Summary:
        //     Transcript logger stores activities for conversations for recall.
        public interface ITranscriptLogger
        {
            // Summary:
            //     Log an activity to the transcript.
            //
            // Parameters:
            //   activity:
            //     The activity to transcribe.
            //
            // Returns:
            //     A task that represents the work queued to execute.
            Task LogActivityAsync(IActivity activity);
        }
    

    一旦你有一个 ITranscriptLogger 实现,就可以将它添加到 Startup.cs 中的中间件堆栈中:

    var myLogger = new MyTranscriptLogger(Configuration.GetSection("BotDataConnectionString").Value);
    var transcriptMiddleware = new TranscriptLoggerMiddleware(myLogger);
    options.Middleware.Add(transcriptMiddleware);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 2021-10-27
      相关资源
      最近更新 更多