DynamoDBMapperを使用してDynamoDBとやりとりを行い、定義したローカルのセカンダリインデックスに非キー属性を投影したいとします。DynamoDBMapperを使用したローカルのセカンダリインデックスのプロジェクト属性
モデルクラスで投影を定義するにはどうすればよいですか?セカンダリインデックスの注釈には、私を許可するプロパティはありません。私はどこでもドキュメンテーションを見つけることができません。
おかげで、
Shrikant
DynamoDBMapperを使用してDynamoDBとやりとりを行い、定義したローカルのセカンダリインデックスに非キー属性を投影したいとします。DynamoDBMapperを使用したローカルのセカンダリインデックスのプロジェクト属性
モデルクラスで投影を定義するにはどうすればよいですか?セカンダリインデックスの注釈には、私を許可するプロパティはありません。私はどこでもドキュメンテーションを見つけることができません。
おかげで、
Shrikant
DynamoDBMapper
は、あなたのプロジェクトは、インデックスに属性を助けにはなりません。
インデックスを作成するとき(ローカルまたはグローバル)、ALL
,KEYS_ONLY
またはINCLUDE
のどの属性を指定する必要がありますか。 INCLUDE
を選択すると、インデックスに投影する属性を選択します(デフォルトではキーが含まれています)。
次に、DynamoDBMapper
のquery(...)
関数を使用して、作成したばかりのローカルセカンダリインデックスの項目を取得できます。
このクエリの結果に含まれるオブジェクトには、プロジェクトに選択した属性に対応するフィールドの値のみが含まれ、その他のフィールドはすべてnull
になります。
したがって、モデルクラスは、どの属性がインデックスに投影されているかを知る必要はなく、何の関係もありません。これらのプロジェクトは、インデックスを作成するときに指定する必要があります。