我做了一个Lex Bot订购牛奶但是每当我完成这个过程并退出机器人我的交易就被删除了。我无法看到我的最后一笔交易。我想知道如何保存以前的详细信息,以便将来查询?
var AWS = require('aws-sdk');
var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
exports.handler = (event, context, callback) =>{
var amount = event.currentIntent.slots.amount;
var params1 = {
Key: {
"last_Transaction": {
S: " "
},
},
TableName: "confirmation_Table"
};
dynamodb.getItem(params1, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else
{console.log(data); // successful response
}
});
callback(null, {
"dialogAction":{
"type":"Close",
"fulfillmentState": "Fulfilled",
"message": {
"contentType": "PlainText",
"content": amount
}
}
});
};
答案 0 :(得分:1)
您应该将事务保存在某个文件或数据库中,以便将来可以读取它们。 DynamoDB是不错的选择。
在退出僵尸程序之前,您可以在DynamoDB中存储具有唯一ID的事务。
您可以使用put_item()
,在DynamoDB docs
以下是伪代码:
Get info from user
Validate in DialogCodeHook
Come to FulfillmentCodeHook
Save info in DynamoDB
Close