查询 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
    },