确认后如何使用Lex Bot获取最后一笔交易?

时间:2017-12-27 07:34:55

标签: amazon-web-services aws-lambda amazon-dynamodb amazon-lex

我做了一个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


            }

        }
    });





};

1 个答案:

答案 0 :(得分:1)

您应该将事务保存在某个文件或数据库中,以便将来可以读取它们。 DynamoDB是不错的选择。

在退出僵尸程序之前,您可以在DynamoDB中存储具有唯一ID的事务。

您可以使用put_item(),在DynamoDB docs

了解相关信息

以下是伪代码:

Get info from user  
Validate in DialogCodeHook  
Come to FulfillmentCodeHook  
Save info in DynamoDB
Close