如何将来自用户的消息存储在表存储中? (Microsoft Bot Framework SDK4和C#)

时间:2020-09-04 09:10:45

标签: c# azure botframework bots azure-storage

目前,我正在使用Microsoft Bot Framework SDK4构建机器人。 Bot本身基于C#。我希望输入用户编写的消息并将其存储在Azure中自己的表存储中。

我看过本教程(https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-storage?view=azure-bot-service-4.0&tabs=csharp),其中机器人将消息保存在Blob存储中的文件中,但是我需要使用表存储来实现。

如果有人知道或有一个简单的示例如何做到这一点,那就太酷了:)

2 个答案:

答案 0 :(得分:1)

您可以将Bot的状态数据存储在Azure表存储中。

对于V3(不推荐使用):

var store = new TableBotDataStore(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString);

在此示例github中:https://github.com/Microsoft/BotBuilder-Azure/tree/master/CSharp/Samples/AzureTable

也参考:https://docs.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-state-azure-table-storage?view=azure-bot-service-3.0

对于V4:

表存储的提供程序已从SDK中删除。以下是当前可用的。

enter image description here

但是,有一个 IStorage 抽象,如果您认为自己需要,可以允许您编写自己的实现。

类似这样的东西:

https://github.com/Microsoft/botbuilder-dotnet/blob/73d1d98173a82da84f3795cbdd0d473ca97bef4f/libraries/Microsoft.Bot.Builder.Azure/AzureTableStorage.cs

上面是从SDK删除之前存在的最新版本。

答案 1 :(得分:0)

您可以在应用程序中使用Azure存储客户端库,并将数据发送到表存储。

https://docs.microsoft.com/en-us/dotnet/api/overview/azure/storage?redirectedfrom=MSDN&view=azure-dotnet