5

アマゾンウェブサービスは初めてです。ハッシュキーに特定の単語が含まれているdynamoDBテーブルのすべてのエントリを取得したいと思います。これは、OracleDBでlike演算子を使用するのと似ています。どうすればいいですか?それが不可能な場合、ハッシュキーに制約を与えずにテーブル内のすべてのエントリを取得して、後で単語に一致するようにすべてのエントリを反復処理できるようにするにはどうすればよいですか?

4

1 に答える 1

16

一般的な DynamoDB の考え:

DynamoDB を MySQL のように考えないでください。DynamoDB は、いくつかの優れた機能を備えたキーと値のストアにすぎません

key:value ストアの基本は次のとおりです。

キーを知っていて、値を取得します。

そうしないと、テーブル全体が取得されます。

DynamoDB 固有のケースでは、次のことができます。

  1. キー全体を知っているアイテムを取得するGetItem
  2. 特定の の下にあるすべてのアイテムを取得しhash_key、場合によってはフィルターを適用します。Query
  3. おそらくフィルターを適用して、テーブル全体を取得しますScan

これは言った、Scan遅く高価です。使用しないと、設計が間違っている可能性が高くなります。

あなたの質問に固有:

あなたの場合、キーを

  • hash_key
  • range_key

Query次に、すべてのアイテムを共有するために使用できますhash_key。を使用すると、範囲を絞り込むQueryなどのフィルターを適用できます。BEGINS_WITH

hash_keyすべての ( , range_key) タプルは一意である必要があることに注意してください。

于 2012-10-05T13:45:17.167 に答える