查询 DynamoDB 中最后一个条目的问题 - 总是以 NULL 结尾
Problems to query last entry in DynamoDB - Always endup with NULL
我是 AWS DynamoDb 的初学者,现在卡住了。我正在 node.js 中编写一个 Lambda 函数来查询 DynamoDb 中的项目。 DeviceID 是分区键。这个想法是查询最后一个条目。挑战是我总是有一个“空”结果。
请帮助我前进。任何建议、小费……都非常受欢迎。非常感谢。
这是我的 lambda 代码:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient()
async function getLastAliine3(deviceID) {
const params = {
TableName: 'AliineTable',
IndexName: 'deviceID-Ux-index',
key: {
deviceID: deviceID
},
KeyConditionExpression: 'deviceID= :dID',
ExpressionAttributeValues: {
':dID': 'deviceID'
},
ScanIndexForward: false,
Limit: 1
}
try {
const { Item } = await docClient.query(params).promise()
return Item
} catch (err) {
console.log("DDB ERROR MG: ", err)
}
}
module.exports = getLastAliine3
ExpressionAttributeValues: {
':dID': 'deviceID'
},
您将字符串 'deviceId' 传递给查询,而不是您的变量值。这应该可以解决问题:
ExpressionAttributeValues: {
':dID': deviceID
},
我是 AWS DynamoDb 的初学者,现在卡住了。我正在 node.js 中编写一个 Lambda 函数来查询 DynamoDb 中的项目。 DeviceID 是分区键。这个想法是查询最后一个条目。挑战是我总是有一个“空”结果。
请帮助我前进。任何建议、小费……都非常受欢迎。非常感谢。
这是我的 lambda 代码:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient()
async function getLastAliine3(deviceID) {
const params = {
TableName: 'AliineTable',
IndexName: 'deviceID-Ux-index',
key: {
deviceID: deviceID
},
KeyConditionExpression: 'deviceID= :dID',
ExpressionAttributeValues: {
':dID': 'deviceID'
},
ScanIndexForward: false,
Limit: 1
}
try {
const { Item } = await docClient.query(params).promise()
return Item
} catch (err) {
console.log("DDB ERROR MG: ", err)
}
}
module.exports = getLastAliine3
ExpressionAttributeValues: {
':dID': 'deviceID'
},
您将字符串 'deviceId' 传递给查询,而不是您的变量值。这应该可以解决问题:
ExpressionAttributeValues: {
':dID': deviceID
},