lambda

2017-11-22 2 views
2

을 통해 nodejs 코드에서 dynamodb에 액세스 할 수 없습니다.이 테스트를 lambda에서 시도했지만 진행할 수 없습니다.lambda

var Alexa = require("alexa-sdk"); 

    var dynamoDBConfiguration = { 
     "accessKeyId": "useraccess", 
     "secretAccessKey": "usersecretkey", 
     "region": "us-east-1" 
     }; 
    var AWS = require("aws-sdk"); 
    AWS.config.update(dynamoDBConfiguration); 
    var promisify = require("es6-promisify"); 
    var dynClient = new AWS.DynamoDB.DocumentClient({"region":"us-east- 
    1"}); 


    //convert callback style functions to promises 
    const dbGet = promisify(dynClient.get,dynClient); 
    const dbPut = promisify(dynClient.put,dynClient); 
    const dbDelete = promisify(dynClient.delete,dynClient); 


    var startStateHandlers = (GAME_STATES.STARt, { 
     "StartGame": function (isNewGame,context) { 

      const dynamoParams = { 
       TableName: "Userdata", 
       Key: { 
        "UserId":"test" 
       } 
       } 

      dbGet(dynamoParams) 
       .then(data => { 
        console.log('Get user succeeded', data); 
        const userId = data.UserId; 

        if (userId != null) {     
        console.log(data.UserName);     
        } 
        else { 
        // no match, add the user 
        return dbPut(dynamoParams); 
        } 
       }) 
       .then(data => { 
        console.log('Add user succeeded', data);    
       }) 
       .catch(err => { 
        console.error(err); 
       }); 

       this.emit(":tell", speechOutput, speechOutput); 
     } 
    }); 
    var handlers = {  
     "LaunchRequest": function() { 
      var speechOutput = "hello"; 
      this.emit(":tell", speechOutput, speechOutput); 
     } 
    }; 
    var handler = (function() { 
     function handler(event, context, callback) { 
      var alexa = Alexa.handler(event, context); 
      alexa.appId = "appid";  

      alexa.registerHandlers(handlers, startStateHandlers); 
      alexa.execute(); 
     } 
     return handler; 
    })(); 
    exports.handler = handler; 

lamda 로그에 오류가 발생하지 않으며 Cloudwatch에서 로그를 볼 수 없습니다. 다른 코드 행을 실행하기 만하면됩니다.

모든 권한 정책을 사용자에게 첨부하고 lamda 함수를 lambda_dynamo로 설정했습니다.

문제가 무엇인지 이해할 수 없습니다.

감사합니다.

답변

0
var dynamoDBConfiguration = { 
    "accessKeyId": "useraccess", 
    "secretAccessKey": "usersecretkey", 
    "region": "us-east-1" 
}; 
var AWS = require("aws-sdk"); 
// update the AWS.Config global configuration object 
AWS.config.update(dynamoDBConfiguration) 
// Create DynamoDB document client 
var dynClient = new AWS.DynamoDB.DocumentClient() 
+0

죄송합니다. 편집하는 동안 그 행을 놓쳤습니다. 나는 코드에서 그것을 가지고 있지만 아무것도 바뀌지 않았다. –