2016-08-01 538 views
2

私はdynamodbにアクセスするためにaws-ruby-sdkを使用しています。私は、クエリ操作を使用してすべての項目を取得したい。ですから、expression_attribute_valuesにワイルドカード文字*を使用しています。それは動作しません。しかし、私が特定の値を指定すると、それは機能します。dynamodbクエリ操作でワイルドカード文字*を使用するにはどうすればよいですか?

*はどのように使用しますか?以下は私のコードdynamodbを照会するコードです:

db_client.query({ 
     table_name: "my_table_name", 
     key_condition_expression: "#idtype = :idType", 
     expression_attribute_names: { 
      "#idtype" => "IdType" 
     }, 
     expression_attribute_values: { 
      ":idType" => "*", 
     }, 
    }) 

また、すべての値が必要なので*を指定しています。私が望む最終結果は、プライマリキーIdTypeの一意の値だけですが、dynamodb(私が知っているわけではありません)で一意の制約を持つ方法がないように見えるので、すべての値を取得しています。コード。

ご協力いただければ幸いです。

PS:プライマリパーティション・キー - のidtypeあなたはDynamoDBのテーブル内のすべてのアイテムを取得するためにScan APIを使用することができます文字列

答えて

0

です。主キーのみが必要な場合は、ProjectionExpression="IdType"を使用して、返信するデータ量を制限することができます。

関連する問題