2015-02-04 38 views
1

我想知道是否必須使用dynamodb「掃描」操作獲取dynamodb表中所有散列鍵值的列表,或者是否存在另一種「較便宜」的方法來實現這一點。我已經嘗試過使用「查詢」操作,但在我的情況下,它不成功,因爲我必須定義表哈希鍵來使用此操作。我只想獲得表中所有散列鍵值的列表。用於獲取DynamoDB表中散列鍵列表的掃描操作?

回答

0

是的,您需要使用scan方法來訪問表中的每個項目。您可以通過將attributes_to_get屬性設置爲您需要的值來減少返回給您的數據大小 - 例如,只是散列鍵值。另外請注意,掃描操作最終是一致的,所以如果此數據庫正在積極增長,則您的結果集可能不包含添加到表中的最新項目。

0

不幸的是,要獲取散列鍵值列表,您必須執行掃描操作。你的用例是什麼?通常,應用程序應該跟蹤散列鍵值,因爲需要有均勻分佈的工作負載。因此,爲此目的的掃描操作不應該頻繁發生。

編輯:請注意,如果您使用attributes_to_get或投影表達式篩選出結果,它將有助於使結果更清晰,但它不會減少您收取的吞吐量。根據整個項目的大小掃描操作費用,而不僅僅是返回的屬性。