DynamoDB.putitem не добавляет параметры в таблицу DynamoDB? - PullRequest
0 голосов
/ 15 сентября 2018

Моя лямбда-функция использует метод

ddb.putItem(params, function(err, data) {
 if (err) console.log(err, err.stack); // an error occurred
 else     console.log("SUBMITTED DATA");           // successful response
 });

, и мои параметры правильно отформатированы в моей таблице.В моих журналах не отображается никаких ошибок, однако «ОТПРАВЛЕННЫЕ ДАННЫЕ» также не отображаются в журналах, и данные не заносятся в мою таблицу DynamoDB.Любая идея о том, что может быть причиной этой проблемы?Вот моя полная функция:

const TrackHabitIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'TrackHabitIntent';
},
handle(handlerInput) {
ddb.putItem(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log("SUBMITTED DATA");           // successful response

});
const speechText = "That's awesome! I'll add today to your streak of 4 days";



return handlerInput.responseBuilder
  .speak(speechText)
  .reprompt(speechText)
  .withSimpleCard('Hello World', speechText)
  .getResponse();
}};

exports.handler =  function (event, context) {
if (!skill) {
skill = Alexa.SkillBuilders.custom()
  .addRequestHandlers(
    LaunchRequestHandler,
    HelpIntentHandler,
    HelpMeIntentHandler,
    TrackHabitIntentHandler,
    NewHabitIntentHandler,
    CancelAndStopIntentHandler,
    SessionEndedRequestHandler,
  )
  .addErrorHandlers(ErrorHandler)
  .create();
 }
 return response;
 };

Спасибо

1 Ответ

0 голосов
/ 16 сентября 2018

Пожалуйста, отметьте этот код, чтобы добавить данные в DynamoDB , которые могут вам помочь.

let putParams = {
        TableName: tableName,
        Item: {
          'Id': {
            S: Id
          },
          'name': {
            S: name
          }
        },
        ConditionExpression: 'attribute_exists(Id)'
      };

      dynamoDb.putItem(putParams, function (err, data) {
        if (err) {
          console.log('failure:put data from Dynamo error', err);
          reject(err);
        } else {
          console.log('success:put data from Dynamo data');
          resolve(data);
        }
      });
...