Mic*_*ego 7 pagination amazon-dynamodb
我正在尝试使用 DynamoDB 实现基于游标的分页(在 DynamoDB 中进行分页绝对不容易......),使用ExclusiveStartKey.
我的表索引由“id”组成,而“owner”(分区键)和“created_at”(范围键)上有一个 GSI。
query通过指定 GSI 索引并使用“owner”属性,我可以使用请求轻松检索前 10 条记录。
但是,在下一个请求中,ExclusiveStartKey只有当我指定两个索引中的三个元素(因此“id”、“owner”和“created_at”)时,才有效。
虽然我理解“id”和“owner”,因为它们都是分区键并且需要“定位”记录,但我不明白为什么 DynamoDb 要求我指定“created_at”。这很烦人,因为这意味着消费者不仅必须提交“id”作为游标,还必须提交“created_at”。
由于DynamoDb可以使用“id”(保证唯一)找到记录,为什么我需要指定这个created_at?
谢谢
GSI 主键不一定是唯一的。基表键对于回答以下问题是必要的:“对于给定的所有者和创建日期,我在此页面中读到的 ID 最多为多少?”。换句话说,您可以拥有多个具有相同所有者和创建日期的项目。
| 归档时间: |
|
| 查看次数: |
5015 次 |
| 最近记录: |