2017-06-27 13 views
0

私はIDのリストを持っており、どれが効率的な方法で自分のDynamoDBに存在するかチェックしたいと思います。DynamoDBに複数のアイテムが存在するかどうかを問い合わせる方法は?

[1, 2, 3, 4, 5] 

や猫という名前の私のDynamoDBのテーブルには、次があります:

例えばIDの私のリストは以下のようになります

{id: 1, name: 'cat1'}, {id: 3, name: 'cat3'}, {id: 5, name: 'cat5'} 

私は1を、IDS 1回のコールで知りたいのですが、3 、5が私のDynamoDBにあります。これが1回のリクエストで可能かどうか、または5回にする必要があるかどうかはわかりません。

答えて

2

私は答えはあなたのデータ構造がどのように依存だと思います。

Query要求は、エンティティのIDが含まれている必要があり、その1つのクエリ要求を行うと、3つのすべての結果を取得する方法はありません。

Scanリクエストはすべてのエントリ(またはリストに基づいてフィルタリングされたバージョン)をフェッチすることができますが、テーブルの大きさによっては時間の観点から非常に高額になることがあります。

別のオプションは、あなたのデータは/その上でスキャンしたクエリを持っているとするかもしれないいくつかの他のセマンティックに基づいてsecondary indexを作成するかもしれません。

あなたが操作を容易にするために、あなたのテーブル構造を改善できるかどうかを確認するためにDynamoDBのBest Practicesページを見てみましょう。

関連する問題