java - AWS DynamoDb 使用 DynamoDbEnhancedClient 读取 BatchRead
问题描述
BatchGetResultPageIterable batchResults = dynamoDbEnhancedClient
.batchGetItem(BatchGetItemEnhancedRequest.builder()
.readBatches(ReadBatch.builder(Analysis.class).mappedTableResource(analysisTable)
.addGetItem(GetItemEnhancedRequest.builder()
.key(Key.builder().partitionValue(projectId).build()).build())
.build())
.build());
batchResults.forEach(page -> page.resultsForTable(analysisTable)
.forEach(item -> System.out.println(item.getFileId())));
我使用了上述的.. 但我面临的问题是 software.amazon.awssdk.services.dynamodb.model.DynamoDbException:提供的关键元素与架构不匹配(服务:DynamoDb,状态代码:400,请求 ID:36V6D9GAGEUA817ODOGV52PF6VVV4KQNAO5AEMVJF66Q9ASUAAJG )
AnalysisTable
=================
PartitionKey Sort Key Name
A===============>1.txt=====>ABC
A===============>2.txt=====>DEF
A===============>3.txt=====>GHI
A===============>4.txt=====>JKL
class Analysis {
private String projectId;
private String sampleId;
private String sampleName;
private String description;
//setter & getters
}
解决方案
.sortValue()
由于您有分区键和排序键,我认为您缺少Key.builder()
它需要是Key.builder().partitionValue(projectId).sortValue(your-sort-key).build()
推荐阅读
- c# - 在哪里可以找到 FluentMigrator 类?
- css - 可滚动涡轮表中的 PrimeNG 过滤器下拉问题
- unix - 如何检查父子进程的状态?
- ruby-on-rails - 如何从 Rails 服务器调用(无头)chrome?
- mongodb - 感兴趣的挑战:是否可以根据给定的原型制作一个类?
- jquery - 如何检查两个时间之间的差异以及它是否在角度 2/4 的同一日期?时间格式,如“HH:mm AM”
- c# - 如何在调用 API 之前启动注入服务?
- reactjs - ReactJs 无法在“历史”上执行“pushState”:
- c# - 如何分别获取其中包含的url和产品代码
- django - Django 卷曲请求