如何将来自用户的消息存储在 table 存储器中? (微软机器人框架 SDK4 和 C#)

How to store a message from the user in a table storage? (Microsoft Bot Framework SDK4 & C#)

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

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

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

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

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

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

对于 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:

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

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

像这样:

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

以上是从 SDK 中删除之前存在的最后一个版本。