Javascript 使用带有主键和排序键的getItem
所以我有一个名为tableX的dynamodb表,其中包含以下字段:Javascript 使用带有主键和排序键的getItem,javascript,node.js,amazon-web-services,amazon-dynamodb,aws-lambda,Javascript,Node.js,Amazon Web Services,Amazon Dynamodb,Aws Lambda,所以我有一个名为tableX的dynamodb表,其中包含以下字段: random_fld1, random_fld2, primary_key1, and sort_key1 all fields are Strings. 使用这些键和字段的getItem示例是什么。我无法获取使用getItem的键:部分。以下是上面表结构的getItem代码 下面的代码使用本地Dynamodb表 var AWS = require("aws-sdk"); var creds = new AWS.Cred
random_fld1, random_fld2, primary_key1, and sort_key1
all fields are Strings.
使用这些键和字段的getItem示例是什么。我无法获取使用getItem的键:部分。以下是上面表结构的getItem代码 下面的代码使用本地Dynamodb表
var AWS = require("aws-sdk");
var creds = new AWS.Credentials('akid', 'secret', 'session');
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000",
credentials: creds
});
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "tablex";
var params = {
TableName: table,
Key:{
"primary_key1": "p1",
"sort_key1": "s1"
},
};
docClient.get(params, function(err, data) {
if (err) {
console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
}
});
您可以将DynamoDB的DocumentClient用作:
请参阅。排序值是多少?如果要按时间戳降序排序,则不知道最后一个时间戳值是什么…@Tom
getItem()
在这种情况下可能不是最佳选择,因为您不知道复合主键(分区键+排序键)。您可以使用query()
或全局二级索引。顺便说一句,您可以实例化docClient
,然后尝试使用documentClient
@wuliwong:您是对的。谢谢你的反馈。我刚刚编辑了答案。
'use strict';
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({ apiVersion: '2012-08-10' });
var params = {
TableName: 'tableX',
Key: {
'primary_key1': 'PARTITION_KEY_VALUE',
'sort_key1': 'SORT_KEY_VALUE'
}
};
docClient.get(params, function(err, data) {
if (err) console.log(err);
else console.log(data);
});