不推荐使用Bot State API。有关如何更换自己的存储空间的详细信息,请参阅https://aka.ms/I6swrh。任何人都知道问题是什么以及如何配置?是本地存储问题吗?
答案 0 :(得分:1)
在之前版本的botbuilder中,微软为机器人提供了一个状态api。状态api按照您的预期管理机器人的状态;用户数据,会话数据,对话数据等。
他们已经弃用了这个API,并提供了一种方法,您可以实现自己的存储适配器,或者实际上是我们可用的包。
botbuilder模块提供内存存储,在机器人运行时显然很好,但如果你想要在多台机器上对机器人进行负载均衡,如果机器人崩溃并且不适合将会丢失。
我倾向于使用内存存储进行本地开发,并在生产中使用不同的适配器将其切换出来。
const bot = new builder.UniversalBot(connector, [..waterfall steps..])
.set('storage', new builder.MemoryBotStorage())
但是,还有其他可用的存储适配器
Microsoft程序包botbuilder-azure提供表存储,CosmosDB存储和SQL存储。
我倾向于将以下包botbuilder-storage与DynamoDB适配器一起使用。它还提供Redis和MongoDB适配器。
国家管理也在这里很好地记录了
https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-state
答案 1 :(得分:0)
需要通过手动设置内存存储来解决此问题:
var bot = new builder.UniversalBot(connector, {
storage: new builder.MemoryBotStorage()
});