扫描操作以获取DynamoDB表中的哈希键列表?

时间:2015-02-04 19:05:08

标签: amazon-web-services amazon-dynamodb

我想知道是否必须使用dynamodb“扫描”操作来获取dynamodb表中所有散列键值的列表,或者是否有另一种“更便宜”的方法来执行此操作。我尝试过“查询”操作,但在我的情况下它是不成功的,因为我必须定义表哈希键才能使用此操作。我只想获得表中所有哈希键值的列表。

2 个答案:

答案 0 :(得分:1)

是的,您需要使用scan方法访问表格中的每个项目。您可以通过将attributes_to_get属性设置为仅需要的内容来缩小返回给您的数据的大小 - 例如只是哈希键值。另请注意,扫描操作最终是一致的,因此如果此数据库正在积极增长,则结果集可能不包括添加到表中的最新项目。

答案 1 :(得分:0)

不幸的是,为了获得散列键值列表,您必须执行扫描操作。你的用例是什么?通常,应用程序应跟踪散列键值,因为需要均匀分布的工作负载。因此,不应经常为此目的进行扫描操作。

编辑:请注意,如果使用attributes_to_get或投影表达式过滤掉结果,它将有助于使结果更清晰,但不会减少您收取的吞吐量。扫描操作根据整个项目的大小收费,而不仅仅是返回的属性。