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

问题描述 投票:1回答:1

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


            }

        }
    });





};
amazon-web-services aws-lambda amazon-dynamodb amazon-lex
1个回答
1
投票

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

在退出机器人之前,您可以在DynamoDB中存储具有唯一ID的事务。

你可以使用put_item(),在DynamoDB docs上阅读它们

下面是伪代码:

Get info from user  
Validate in DialogCodeHook  
Come to FulfillmentCodeHook  
Save info in DynamoDB
Close
© www.soinside.com 2019 - 2024. All rights reserved.