我将使用botbuilder v4 SDK构建的v4 bot设置为使用cosmosDb存储。 这是document,它解释了这个概念。
这是我的BOT从cosmosDb创建的示例文档。
{
"id": "emulator*2fconversations*2f58ceae60-ac37-ef89ad70c779|livechat*2f",
"realId": "emulator/conversations/58ceae60-ac37-ef89ad70c779|livechat/",
"document": {
"dialogStateKey": {
"dialogStack": [
{
"id": "who_are_you",
"state": {
"options": {},
"values": {
"instanceId": "d73-cc97-85fb-669e490c54fa"
},
"stepIndex": 0
}
},
{
"id": "name_prompt",
"state": {
"options": {
"prompt": "What is your name, human?"
},
"state": {}
}
}
]
}
},
"_rid": "CAAAAAAAAAA==",
"_self": "",
"_etag": "",
"_attachments": "attachments/",
"_ts": 1549230
}
我想在代码中回读上面的文档,以便可以查看dialogStack []以查看堆栈是否为空。
我可以使用任何API或NPM软件包与cosmosDb进行交互吗?
注意:对cosmosDB的所有写操作均由botframework管理。
答案 0 :(得分:0)
Bot Builder SDK没有提供任何内容来对机器人状态执行临时查询。也就是说,您当然可以使用the standalone Cosmos DB npm package来查询存储的状态文档。
我只提醒您,存储的状态文档的结构属于内部实现细节,以后可能会更改。出于这个原因,我还建议您将长期特定于业务域的数据存储在bot状态之外。