如何显示DynamoDB表的内容

时间:2018-01-22 21:36:09

标签: node.js amazon-dynamodb aws-cli

我的DynamoDB表包含以下attritubes

sales_id: hashkey
created_date: rangekey
sales_employee_id:IndexedHashKey

我正在尝试获取表Sales的所有数据,就像在MySQL中一样

  select * from Sales

如何查询DynamoDB。我正在尝试使用以下AWS CLI查询,但每次都会失败并显示以下消息

aws dynamodb get-item --table-name Sales --key '{"sales_id":{"N":"1"}}'

以下是错误消息

An error occurred (ValidationException) when calling the GetItem operation: The provided key element does not match the schema

下面的节点js代码也会抛出相同的错误

  var getSalesDetails = function(user_id, callback) {

var params = {
    TableName: "Sales",
    Key:{
        ":sales_id":{"N":"1"},
        ":created_date":{"S": "2018-01-22"}
    }
};
docClient.get(params, function(err, data) {
    if (err) console.log(err); // an error occurred
    else     console.log(data);           // successful response
});
};

1 个答案:

答案 0 :(得分:0)

假设您已使用以下数据类型定义了键属性,则以下代码应该有效。 docClient应根据变量值自动派生数据类型。

  

sales_id:hashkey - 数字

     

created_date:rangekey - String

删除了Key属性中提供的显式数据类型。

var params = {
    TableName: "Sales",
    Key:{
        ":sales_id": 1,
        ":created_date": "2018-01-22"
    }
};
docClient.get(params, function(err, data) {
    if (err) console.log(err); // an error occurred
    else     console.log(data);           // successful response
});
};