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

AWS Scan传入不存在的ExclusiveStartKey为何仍返回结果及LastEvaluatedKey?

AWS DynamoDB Scan传入不存在的ExclusiveStartKey仍返回结果的原因分析

这种情况完全符合DynamoDB的预期行为,核心原因和它的存储排序逻辑、Scan的分页机制有关:

  • 主键的字节序排序规则:DynamoDB会始终按照主键的字节顺序对表内所有条目排序(复合主键则先按分区键排序,再按排序键排序)。当你传入一个不存在的ExclusiveStartKey时,系统会自动定位到第一个字节序大于该键的有效条目,并从这个位置开始执行扫描操作。

  • Scan的起始位置定位逻辑:ExclusiveStartKey的本质是标记扫描的起始锚点,不管这个键是否存在于表中,Scan都会基于它的排序位置来确定扫描起点。只要表中存在字节序大于该键的条目,就会返回对应的结果;如果返回的条目数量达到你设置的Limit值,或者还有未扫描的条目剩余,就会返回LastEvaluatedKey用于后续的分页请求。

你的扫描请求示例:

{
  "TableName": "tks-processtracker-dumper",
  "ExclusiveStartKey": {
      "Mykey": {
          "S": "AKeyThatDoesntExists"
      }
  },
  "Limit": 2000
}

内容的提问来源于stack exchange,提问作者Gustavo Bium Donadon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:15:51