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具有完全访问权限。关于我在做什么错的任何线索吗?
谢谢
答案 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);
});