Node.js dynamodb节点aws sdk简单getItem()调用

Node.js dynamodb节点aws sdk简单getItem()调用,node.js,amazon-web-services,amazon-dynamodb,Node.js,Amazon Web Services,Amazon Dynamodb,各位,Javascript新手。。。尝试从节点执行简单的dynamo查询: var AWS = require('aws-sdk'); AWS.config.update({region: 'us-east-1'}); var db = new AWS.DynamoDB(); var params = { "TableName" : 'admins', "Key" : [ { "username" : { "S" : "foo" } }, ], } db.getItem

各位,Javascript新手。。。尝试从节点执行简单的dynamo查询:

var AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-1'});
var db = new AWS.DynamoDB();

var params = {
"TableName" : 'admins',
"Key" : [
      { "username" : { "S" : "foo" } },
    ],
}

 db.getItem(params, function(err, data) {
    console.log('error: '+ err);
    console.log(data);
    return next();
    res.send(data);
  });
 }
输出:

error: UnexpectedParameter: Unexpected key 'username' found in params.Key['0']

谢谢!任何帮助都将不胜感激

必须遵循SDK和文档,它很简单:


下面是使用NodeJS的DynamoDB的重要资源:


我试图按照文档中的建议进行操作,但也出现了错误

最后,以下措施奏效了:

var aws = require('aws-sdk');
var db = new aws.DynamoDB({
  region: 'eu-central-1',
  maxRetries: 1
});

exports.handler = event => {
    return queryMyThings();
}

const queryMyThings = async (event) => { 
 var params = {
      Key: {
      "ColumnByWhichYouSearch": {
         S: "ValueThatYouAreQueriing"
        }
      }, 
      TableName: "YourTableName"
     };

    return await db.getItem(params).promise();

}

@我在javascript中很弱。我想我想问一个关于如何进行简单db.getItem操作的示例Cmag,您仍然处于活动状态,也许您可以接受答案?我已经尝试了上面的代码,但仍然能够得到解决方案没有错误以及输出,实际上,它没有调用回调函数。你能帮我找到解决方案吗?不知道我能不能在没有看到你的代码的情况下帮你。发布问题和链接?@Cmag,用户名键后有一个错误的逗号。我无法获得与@BhavikJoshi运行相同的函数。我很好奇你是如何绕过这个问题的。我会检查json,确保没有不必要的拖尾COMA
var aws = require('aws-sdk');
var db = new aws.DynamoDB({
  region: 'eu-central-1',
  maxRetries: 1
});

exports.handler = event => {
    return queryMyThings();
}

const queryMyThings = async (event) => { 
 var params = {
      Key: {
      "ColumnByWhichYouSearch": {
         S: "ValueThatYouAreQueriing"
        }
      }, 
      TableName: "YourTableName"
     };

    return await db.getItem(params).promise();

}