現在、LSIとdynamoDBマッパークラスを使用してダイナモDBテーブルから情報をロードしようとしています。私は次のコードLSIとマッパーでdynamodbを照会する方法
Conisderこのクラス
class Employee {
@DynamoDBHashKey
public String getID() {
return ID;
}
@DynamoDBRangeKey
public String getFirstName() {
return firstName;
}
@DynamoDBIndexRangeKey(localSecondaryIndexName = "my-lsi")
public String getLastName() {
return lastName;
}
public String getMyotherfield() {
return myotherfield;
}
}
があるとLSIとDynamoDBのマッパー
Employee obj = new Employee();
obj.setID("221");
obj.setLastName("SOMEONE");
DynamoDBQueryExpression<Employee> queryExpression = new DynamoDBQueryExpression<>();
queryExpression.setHashKeyValues(obj);
queryExpression.setIndexName("my-lsi");
queryExpression.setProjectionExpression("myotherfield");
PaginatedQueryList<Employee> paginatedQueryList = mapper.query(Employee.class, queryExpression);
Iterator<Employee> iterator = paginatedQueryList.iterator();
while (iterator.hasNext()) {
Employee pp = iterator.next();
// some code
}
を使用して情報を取得するためのコードのこの部分を考えてみましょう[EDIT] これは正しい方法ですマッパー付きのクエリLSI? LSIとdynamoDBMapperを使用してテーブルからデータをフェッチするより良い方法は何ですか? (パフォーマンス面で)
私もこのhttps://java.awsblog.com/post/Tx3GYZEVGO924K4/The-DynamoDBMapper-Local-Secondary-Indexes-and-Youが見つかりましたが、その2013年のリンクです。私は、LSIとマッパーでのクエリに関する最新のドキュメントを見つけることができません。
あなたは「より良い方法」と言ったときに正確に何を探していますか?それはパフォーマンスの面でですか?ページネーションに関しては? – Dasharath