【问题标题】:How to fetch last transaction using Lex Bot after confirmation?确认后如何使用 Lex Bot 获取最后一笔交易?
【发布时间】:2017-12-28 21:00:33
【问题描述】:

我制作了一个 Lex 机器人来订购牛奶,但每当我完成该过程并退出机器人时,我的交易就会被删除。我看不到我的最后一笔交易。我想知道如何保存我以前的详细信息以便将来查询?

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】:

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

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

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

    下面是伪代码:

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

    【讨论】:

    • 谢谢你,即使我的想法也一样,但你能告诉我如何实现这一目标吗?意味着你可以给我看屏幕截图,以便我尽快完成。我已经完成了所有其他只是遇到这个问题的事情。
    • @Pulkit,我添加了参考资料和详细信息,如果您遇到问题,请尝试让我们知道。如果它有帮助并支持,则将答案标记为已接受。希望对您有所帮助。
    • 我可以保存我的交易但无法取回它。我正在上传我的代码,请查看它。
    • 当我调用我的数据库表并访问它的键时,我得到了空数据
    • 对不起,我不知道如何在 node.js 中执行此操作,docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/…此链接可能会对您有所帮助
    猜你喜欢
    • 2017-11-22
    • 2013-06-12
    • 1970-01-01
    • 2011-01-04
    • 2016-06-07
    • 2014-02-13
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多