私はDynamoDbテーブルを持っています。それは "ID"のハッシュキーと "カテゴリ"の範囲キーを持っています。Java:Mapperを使用して範囲キーのすべての値をDynamoDBテーブルに問い合わせ
"カテゴリ"、コメディなどのすべてのエントリを検索しようとしています。
これは私のマッピングクラスである:
@DynamoDBTable(tableName = "Videos")
public class VideoDynamoMappingAdapter {
private String videoID;
private String videoCategory;
private String videoArtist;
private String videoTitle;
@DynamoDBHashKey(attributeName = "ID")
public String getVideoID() {
return videoID;
}
public void setVideoID(String videoID) {
this.videoID = videoID;
}
@DynamoDBRangeKey(attributeName = "Category")
public String getVideoCategory() {
return videoCategory;
}
public void setVideoCategory(String videoCategory) {
this.videoCategory = videoCategory;
}
@DynamoDBAttribute(attributeName = "ArtistName")
public String getVideoArtist() {
return videoArtist;
}
public void setVideoArtist(String videoArtist) {
this.videoArtist = videoArtist;
}
@DynamoDBAttribute(attributeName = "VideoTitle")
public String getVideoTitle() {
return videoTitle;
}
public void setVideoTitle(String videoTitle) {
this.videoTitle = videoTitle;
}
}
私はこのような何かを照会しようとしている:
DynamoDBQueryExpression<VideoDynamoMappingAdapter> queryExpression = new DynamoDBQueryExpression<VideoDynamoMappingAdapter>()
.withRangeKeyCondition()
List<VideoDynamoMappingAdapter> itemList = mapper.query(VideoDynamoMappingAdapter.class, queryExpression);
私はガイドを見ているされていますが、私はそれを理解することはできません、私は
:これは私は何かが欠けていますので、多分すべての時間を行われている簡単なクエリだろうと思っているだろうあらかじめご協力いただきありがとうございます
ご回答ありがとうございます。範囲内のすべてのハッシュを照会する方法を教えてください。 –
スキャンコードを追加しました。私の以前の答えで述べたように、ハッシュキーがなければクエリはできません。 – notionquest
ありがとうございます。それは私の理解がドキュメントのために間違っていたことを私に示した。私は毎回のスキャンが良い選択だとは思わないので、グローバルなセカンダリインデックスを追加するように変更して、それをクエリします。 –