11

有効なキー条件式とは何か教えてください。MyKeyTable という単純なテーブルに対してクエリを実行しようとしています。これには、Id と Long 型の AnotherNumberThatICareAbout という 2 つの「列」があります。

入力したすべての値を確認したいので、次のことを試しました。

aws dynamodb query --select ALL_ATTRIBUTES --table-name MyKeyTable
--endpoint http://localhost:8000 
--key-condition-expression "WHAT DO I PUT IN HERE?"

どのハッシュを入れる必要がありますか? この私見では、ドキュメントは少し不自由です。良いドキュメントへの単なるリンクであっても、助けていただければ幸いです。

4

2 に答える 2

9

これは、中間ファイルなしで使用できるコマンドラインのみのアプローチです。

まず、値のプレースホルダーを使用してキー条件式を作成します。

--key-condition-expression "Id = :idValue"

(プレースホルダーのコロン接頭辞を忘れないでください!)

次に、expression-attribute-values 引数を作成します。JSON 形式が想定されていることに注意してください。これに関して私がいつも忘れようとしているトリッキーな部分は、数値に 42 を差し込んだり、文字列に「foo」を差し込んだりすることはできないということです。DynamoDb にtype と valueを伝える必要があります。値の仕様をフォーマットする方法の完全な内訳については、 AWS ドキュメントを参照してください。これは、必要に応じて非常に複雑になる可能性があります。

Windows では、引用符を二重にすることで引用符をエスケープできます。

--expression-attribute-values "{"":idValue"":{""N"":""42""}}"

MacOS/Linux の場合、JSON を一重引用符で囲む必要があります。

--expression-attribute-values '{":idValue":{"N":"42"}}'
于 2016-09-02T20:59:54.633 に答える
4

キーを含むファイルを作成します: test.json

{
    "yourHashKeyName": {"S": "abc"},
    "YourRangeKey": {"S": "xyz"}  //optional
}

走る

aws dynamodb query --table-name "your table name" --key-conditions file://test.json

参照: http://docs.aws.amazon.com/cli/latest/reference/dynamodb/query.html

テーブルスキャン用

aws dynamodb scan --table-name "you table name"

テーブル全体をスキャンするため、キーを渡す必要はありません (注: 最大 1MB のデータが取得されます)。

参照: http://docs.aws.amazon.com/cli/latest/reference/dynamodb/scan.html

于 2016-02-15T14:14:32.097 に答える