0

次のようなdynamo dbテーブルがあります。

HashKey(xyz) ,RangeKey(timestamp)

ハッシュキーごとに、範囲キーのセットがあります。

今、ハッシュキーのセットに基づいてクエリを実行したいのですが、それに対応する最新の値のみをフェッチしたいのです。メモリ内でソートしてから最新バージョンを選択したくありません。

これを何らかの方法で行うことはできますか?

ユースケースは、bulkget を実行して一連のハッシュキー (たとえば 100) を渡すことです。そのため、ハッシュキーごとに 1 つのレコードを取得したいと考えています。

4

2 に答える 2

0

(現在)バッチ取得に制約を設定することはできません。http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API_BatchGetItems.htmlを参照してください

ただし、単一のハッシュキーの場合、ScanIndexForwardを使用して方向を設定できます。詳細については、 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/API_Query.htmlを参照してください。

サンプルJavaコード:

new QueryRequest().withTableName("table-name")
  .withScanIndexForward(false)
  .withLimit(1)
  .withHashKeyValue(new AttributeValue().withS("hash-key"));

ただし、この呼び出しを100回行う必要があるため、あまり効率的ではありません。

于 2013-03-10T11:47:49.333 に答える