java有没有合理的方式来排序DynamoDB表?
我在spring Boot 2.5.4设置中使用spring data dynamodb 5.1.0。我试图让这个示例代码对SongTitle
列进行排序,我已经在该列上定义了一个全局二级索引。
这是我的实体对象`公共课改进音乐{
@Id
private ImprovedMusicId improvedMusicId;
public ImprovedMusic() {}
public ImprovedMusic(ImprovedMusicId improvedMusicId) {
this.improvedMusicId = improvedMusicId;
}
@DynamoDBHashKey(attributeName = "Artist")
public String getArtist() {
return improvedMusicId != null ? improvedMusicId.getArtist() : null;
}
public void setArtist(String artist) {
if (improvedMusicId == null) {
improvedMusicId = new ImprovedMusicId();
}
improvedMusicId.setArtist(artist);
}
@DynamoDBIndexRangeKey(attributeName = "SongTitle", globalSecondaryIndexNames={"GSISongTitle"})
@DynamoDBIndexHashKey(attributeName="SongTitle", globalSecondaryIndexNames = "GSISongTitle")
public String getSongTitle() {
return improvedMusicId != null ? improvedMusicId.getSongTitle() : null;
}
public void setSongTitle(String songTitle) {
if (improvedMusicId == null) {
improvedMusicId = new ImprovedMusicId();
}
improvedMusicId.setSongTitle(songTitle);
}
} ` 我在测试中调用了这段代码
`Sort sortBy = Sort.by("SongTitle").descending;
Pageable page = PageRequest.of(1,5,sortBy);
Page aPage = myRepositor.findAll(page);`
请注意,我不想按SongTitle
搜索,我希望这个列表按歌曲标题排序。上述测试引发以下异常。我做错什么了吗
The number of conditions on the keys is invalid (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: c0634958-d465-4560-8dce-3e51519b4ed6) com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The number of conditions on the keys is invalid (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: c0634958-d465-4560-8dce-3e51519b4ed6) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1799) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1
共 (0) 个答案