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 


      } 

     } 
    }); 





}; 

답변

1

미래에 읽을 수있는 파일이나 데이터베이스에 트랜잭션을 저장해야합니다. DynamoDB은 좋은 선택입니다.

봇을 종료하기 전에 고유 ID가있는 트랜잭션을 DynamoDB에 저장할 수 있습니다. 나는 내가 어떻게 이것을 달성 할 수 u는 심지어 내가 같은 생각입니다하지만 당신은 나를 보여줄 수있어

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

감사 :

당신은 put_item()를 사용할 수는 아래 DynamoDB docs

의사 코드가에서 그들에 대해 읽어? 화면 캡처를 보여 주면 최대한 빨리 할 수 ​​있습니다. 나는이 문제를 가지고있는 다른 모든 것들로 끝났습니다. – Pulkit

+0

@Pulkit, 참조 및 세부 정보를 추가했습니다. 문제가 발생하면 알려주십시오. 도움이되고 upvote 경우 답변을 허용으로 표시하십시오. 도움이되기를 바랍니다. – sid8491

+0

트랜잭션을 저장할 수는 있지만 다시 검색 할 수는 없습니다. 내 코드를 업로드하여 검토하고 있습니다. – Pulkit