2013-10-25 43 views
5

我想提取表的主键到列表,但找不到api来做到这一点。获取dynamoDB的主键列表

例如,作为amazon example thread table,我想问如何:

1)获得hash primary key名单,在amazon example thread table这将是[“亚马逊DynamoDB”,“亚马逊S3”]

的数组

2)分配hash primary key为“亚马逊DynamoDB”,我想获得range primary key名单,这将是一个数组[“亚马逊DynamoDB线程1”,“亚马逊DynamoDB线程2”]

回答

3

为1你想要的是在表上运行Scan操作。 Scan获取列表中的所有项目。取决于你使用的API,你只能得到散列键或你想要的任何属性。

对于2你想要的是Query - 它获取一个哈希属性并返回所有具有哈希属性(可以是多个)的行。

概述 - Query and Scan operations

的Java映射参考 - ScanQuery

+0

时使用'scan' 1),这意味着我不得不花费大量的读取容量单位获得所有项目然后提取结果只有两个'哈希主键'?哇〜这非常昂贵!任何其他选择? – Yehudi

+0

您可以选择要提取哪些属性 - 这意味着如果您对每个项目都有很大的属性,那么您阅读的内容不会变得疯狂。您还可以添加条件以尽量减少返回结果,从而减少网络IO,但不会节省整个 –

+0

这对我来说是有用的信息,但是我根据检索到的属性没有在AWS上找到有关扫描的读取容量单位的描述(它有一个类似的描述在查询但不是扫描)。任何提示提示?非常感谢 – Yehudi