为什么没有数据写入我的Amazon DynamoDB表?

时间:2018-05-21 03:33:23

标签: node.js amazon-dynamodb alexa

我目前正在创建一个亚马逊alexa技能,让用户可以在AWS的DynamoDB的帮助下创建列表并稍后召回。当我的技能尝试put项目进入数据库表时,事情变为绿色并且没有错误发生。但是,在检查数据库表时,没有写入任何内容。以下是我的技巧代码,我尝试获取一个插槽值并将其放入数据库中:

// query DynamoDB to see if the item exists first
docClient.get(checkIfItemExistsParams).promise().then(data => {
    console.log('Get item succeeded', data);

    const groceryItem = data.Item;

    if (groceryItem) {
      const errorMsg = `Grocery item ${name} already exists!`;
      this.emit(':tell', errorMsg);
      throw new Error(errorMsg);
    }
    else {
      // no match, add the recipe
      return docClient.put(dynamoParams);
    }
  })
  .then(data => {
    console.log('Add item succeeded', data);

    this.emit(':tell', `Grocery item ${name} added!`);
  })
  .catch(err => {
    console.error(err);
  });

以下是服务器日志,首先是我的技能准备请求,然后是实际发送的请求。之前或之后不会发生错误:

2018-05-21T02:19:53.937Z    72ba8ffb-5c9d-11e8-83b7-af0480d5c4a1    Attempting to add item to list { TableName: 'Groceries',
Item: 
{ Name: 'apples',
UserId: 'userid was here, not sure if I should show that publically' } }


host: 'dynamodb.us-east-1.amazonaws.com',
port: 443,
hostname: 'dynamodb.us-east-1.amazonaws.com',
pathname: '/',
path: '/',
href: 'https://dynamodb.us-east-1.amazonaws.com/' },
_clientId: 1 },
operation: 'putItem',
params: 
{ TableName: 'Groceries',
Item: 
{ Name: 'apples',
UserId: 'userid was here, not sure if I should show that publically' } },

任何人对可能发生的事情都有任何想法?感谢。

0 个答案:

没有答案