如何将dynamoDB BatchSave API失败的批处理结果转换为pojos列表? dynamoDB BatchSave API失败的批处理结果以DDB低级API类(例如PutRequest / DeleteRequest / WriteRequest / Map)表示。
是否有一种简单的方法可以将Map转换为代表DDB表项的pojo?
花了数小时才找到解决方案。因此,如果其他人遇到类似的用例,我想提出一个问题并提供答案,以节省他们的时间。
答案 0 :(得分:0)
private List<T> getFailedBatchListItems(final FailedBatch failedBatch, final Class<T> clazz) {
return failedBatch.getUnprocessedItems()
.values()
.stream()
.flatMap(List::stream)
.map(WriteRequest::getPutRequest)
.map(PutRequest::getItem)
.map(e -> dynamoDBMapper.marshallIntoObject(clazz, e))
.collect(toList());
}