我是DynamoDB的新手 - 我已经有了一个插入数据的应用程序,但是我一直在提取数据。
要求:
到目前为止,我已经创建了一个带有复合键的表(S:id,N:timestamp)。然而,当我来查询它时,我意识到因为我的id是唯一的,因为我不能对ID进行通配符搜索,所以我将无法提取一系列项目......
那么,我应该如何设计我的表来满足这种情况呢?
编辑:这就是我的想法:
主索引将是复合索引:(s:customer_id,n:timestamp)其中客户ID在表中是相同的。这将使我能够根据时间范围访问数据。
辅助索引将是hash(s:unique_doc_id),我可以使用此索引删除项目。
这听起来像是正确的解决方案吗?提前谢谢。
答案 0 :(得分:1)
您可以满足以下要求:
您的主键是h:customer_id和r:unique_id。这可以确保表中的所有元素都有不同的键。
您还将拥有时间戳的属性,并在其上有一个本地二级索引。
您将使用LSI执行要求3和batchWrite API调用以对要求4执行批量删除。
此解决方案不需要(1) - 所有客户都可以停留在同一个表格中(抬头 - 每个帐户有256个表格的联系我们之前有限制)