You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DynamoDB设置ScanIndexForward后GSI查询无结果问题求助

DynamoDB查询异常问题记录

数据表结构

id(字符串)message(字符串)created(数字)completed(布尔值)
123Instruction1686731293161-
............
129Instruction1686821275413false

GSI配置

  • Partition key:message
  • Sort key:created
  • Projected keys:全部

表格概况

  • 部分条目缺失message和completed属性
  • 虽message作为GSI分区键,该情况符合业务需求

查询参数(AWS SDK DynamoDB客户端)

{
  TableName: "test-idStatus",
  IndexName: "messageCreatedIndex",
  KeyConditionExpression: "#message = :message and #created BETWEEN :createdfrom AND :createdto",
  ExpressionAttributeNames: {
    "#message": "message",
    "#created": "created",
    "#completed": "completed",
  },
  ExpressionAttributeValues: {
    ":messageFunction": "Instruction",
    ":createdfrom": 1686817506000, // 2023-6-15 08:25
    ":createdto": 1686821106000,   // 2023-6-15 09:25
    ":completed": "false",
  },
  ScanIndexForward: false,
  Limit: 5,
  Select: "ALL_ATTRIBUTES",
  FilterExpression: "#completed = :completed",
}

问题现象

  • 上述查询能正常返回条目
  • 但将ExpressionAttributeValues中的createdfrom修改为1686731286000(2023-6-14 08:25)后,查询无返回结果(但返回了LastEvaluatedKey)。按逻辑,该时间范围包含之前的查询范围,应该能返回对应条目
  • 该问题可在AWS控制台DynamoDB中复现

临时解决方法

移除ScanIndexForward参数后,查询恢复正常,可返回预期条目

内容的提问来源于stack exchange,提问作者kimondoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:07:06