【问题标题】:DyanamoDB with AWS Lambda function Order by Desc Order with scanDynamoDB 与 AWS Lambda 函数 Order by Desc Order with scan
【发布时间】:2019-08-26 18:54:17
【问题描述】:

我正在尝试使用 Node.js 创建 AWS Lambda 函数并尝试从 dynamodb 扫描记录。但它以随机顺序给我记录我想获取最近添加到表中的前 5 条记录。我想根据时间戳进行排序,这样可以获得最新的 5 条记录。任何人有想法请帮助我。

【问题讨论】:

  • 这与 AWS Lambda 有什么关系?

标签: aws-lambda amazon-dynamodb


【解决方案1】:

dynamodb 不打算在其扫描操作中支持排序。查询操作支持顺序。

要获得您想要的行为,您可以执行以下操作(有一个警告,见下文):

确保表中的每条记录都有一个属性(我们称之为x),该属性始终具有相同的值(无论哪个值,假设值始终为“y”)

在您的表上定义一个全局二级索引。该索引的键应使用x 作为分区键(又名:“哈希键”),时间戳字段作为排序键。

然后您可以对该索引发出query 操作。 “查询结果始终按排序键值排序”(请参阅​​here),这正是您所需要的。

警告:这意味着您的索引将在同一分区键下保存表的所有记录。这违背了 dynamodb 的最佳实践(参见 Choosing the Right DynamoDB Partition Key)。它不适用于大型表(超过数十 GB)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 2015-02-26
    • 2011-12-22
    • 2021-07-14
    • 1970-01-01
    • 2022-12-23
    • 2020-02-19
    相关资源
    最近更新 更多