我正在使用以下功能 - >
const params = {
TableName: process.env.dummyTable,
Key: {
outlet_id:event.pathParametrs.id,
id:{"S":"default"}
}
}
dynamoDb.get(params).promise()
.then(result => {
console.log('-->',result);
const response = {
statusCode: 200,
body: JSON.stringify(result),
};
callback(null, response);
})
.catch(error => {
console.error(error);
callback(new Error('Couldn\'t fetch table Data'));
return;
});
}
我想基于outlet_id和id获取记录.Here outlet_id是主分区键,而id是主要排序键(使用uuid)。 如何使用默认值指定id(主排序键)以便我可以获取数据
答案 0 :(得分:0)
目前还不清楚您是通过指定复合分区+排序键来尝试获取单个项目,还是尝试使用相同的分区键查询所有项目(即未指定排序键)。
如果您尝试使用特定的分区键和排序键获取单个项目,则代码看起来很好,但有一个例外。应该使用类型指定分区键,如下所示:
const params = {
TableName: process.env.dummyTable,
Key: {
outlet_id:{"S": event.pathParametrs.id},
id:{"S":"default"}
}
}
但是,如果您尝试查询具有相同分区键的所有项目(即未指定排序键),则需要修改代码以执行query而不是get:< / p>
const params = {
TableName: process.env.dummyTable,
Key: {
outlet_id: {"S": event.pathParametrs.id}
}
}
dynamoDb.query(params).promise()
.then(
//...
)
.catch(
//...
)