Моя функция записи в DynamoDB из моего навыка alexa не работает? - PullRequest
0 голосов
/ 18 ноября 2018

В настоящее время я учусь, как развивать навыки Alexa, и хочу создать простой навык, который запрашивает у пользователя его имя, а когда он получает имя - имя может быть записано в таблицу DynamoDB.Приведенный ниже код предназначен только для части имени параметра, и у меня есть некоторый код, который пытается записать в мою таблицу.К сожалению, когда я запускаю навык, я просто получаю сообщение об ошибке «Возникла проблема с ответом запрошенного навыка».

Может кто-нибудь увидеть, какая проблема ниже или что может быть причиной проблемы?Спасибо!

 function setNameInSession(intent, session, callback) {
        const cardTitle = intent.name;
        const nameSlot = intent.slots.Name;
        let repromptText = '';
        let sessionAttributes = {};
        const shouldEndSession = false;
        let speechOutput = '';

        if (nameSlot) {
            const name = nameSlot.value;
            sessionAttributes = createNameAttributes(name);
            speechOutput = `Great, thanks ${name}. You can ask me ` +
                "your favorite color by saying, what's my favorite color?";
            repromptText = "You can ask me your favorite color by saying, what's my favorite color?";

             // Load the AWS SDK for Node.js
    var AWS = require('aws-sdk');
    // Set the region 
    AWS.config.update({region: 'eu-west-1'});

    // Create the DynamoDB service object
    var ddb = new AWS.DynamoDB({apiVersion: '2012-10-08'});
    var params = {
      TableName: 'myTestTable',
      Item: {
        'timeStamp' : {S: 'Richard Roe'}
      }
    };
    ddb.putItem(params, function(err, data) {
      if (err) {
        console.log("Error", err);
      } else {
        console.log("Success", data);
      }
    });

        } else {
            speechOutput = "I'm not sure what your favorite color is. Please try again.";
            repromptText = "I'm not sure what your favorite color is. You can tell me your " +
                'favorite color by saying, my favorite color is red';
        }

        callback(sessionAttributes,
             buildSpeechletResponse(cardTitle, speechOutput, repromptText, shouldEndSession));
    }
...