chr*_*003 6 java amazon-dynamodb
这可能会将两个独立的问题合并为一个问题。但这是我当前的用例。我有一个具有特定属性的 POJO。
它可能看起来像:
class MyObject {
String id;
String name;
int size;
getters and setters () ....
}
Run Code Online (Sandbox Code Playgroud)
现在我有这些对象的列表 - 我希望将其存储在 Dynamo 中的单个对象中。就像是
RecordID Attributes
abcd123 List<MyObject>
Run Code Online (Sandbox Code Playgroud)
我可以按照上述格式将数据存储在 Dynamo 中吗?我的第二个问题与上述用例有关。
现在我已经存储了记录,我可以检索列表的特定部分吗?例如,我希望从 DyanmoDBQuery 请求返回索引 0 - 5,而不是整个列表本身。
那可能吗?
我对 DynamoDB 还很陌生,我不确定 Dynamo 对存储自定义对象的支持有多好。
如果您能够调整架构并移动到分区排序键架构,其中分区键是 RecordID,排序键是 ItemNumber,其中 Item 编号是abcd123上面列表中每个 MyObject 的索引,那么您可以获得子列表使用范围查询:
项目示例:
RecordID (partition key) asdfasdfadsf
ItemNumber (sort key) 0
Item an instance of MyObject
Run Code Online (Sandbox Code Playgroud)
范围查询参数:
KeyCondition: RecordId = :rid AND ItemNumber BETWEEN :lower AND :upper
ExpressionAttributeValues = { ":rid": "asdfasdfasdf", ":lower": 0, ":upper": 5 }
Run Code Online (Sandbox Code Playgroud)
请注意,:upper界限是包含在内的,因此上面的查询示例将返回RecordId=asdfasdfasdfItemNumber 为 0、1、2、3、4 和 5 的 MyObjects。
| 归档时间: |
|
| 查看次数: |
9090 次 |
| 最近记录: |