我没有从dynamoDB得到任何答案

时间:2019-06-13 13:45:44

标签: amazon-web-services aws-lambda amazon-dynamodb aws-sdk

aws DynamoDB有问题。我正在尝试运行下一个查询:

const docClient = new aws.DynamoDB.DocumentClient();

  const params = {
    TableName: TABLE,
    Item: {
      CupsAndYear: CUP
    }
  };

  return new Promise((resolve, reject) => {
    docClient.get(params, function(error, response) {
      if (error) {
        console.log('[*] Error', error);
        reject(error);
      } else {
        console.log('[*] Success', response);
        resolve(response);
      }
    });
  });

如您所见,这是一个非常简单的查询。我正在寻找的是获取具有CUP值的项。问题是,当我在lambda中运行此代码时,没有得到任何答案。我没有任何数据,也没有任何错误……根本什么都没有。

我在promise中添加了两个console.log,以查看是否可以找到有关问题出在哪里的更多线索,但是lambda结束时没有任何日志...这更奇怪。

我认为这不是权限问题,因为lambda的角色对Dynamo DB具有完全访问权限。关于我在做什么错的任何线索吗?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试直接使用promise函数,而不要尝试使用回调并将它们手动包装在promise中。

类似的东西:

response = await docClient.get(params).promise();
console.log('[*] Success', response);

或:

docClient.get(params).promise().then(function(response) {
   console.log('[*] Success', response);
}).catch(function(error) {
   console.log('[*] Error', error);
});