如何将dynamoDB BatchSave API失败的批处理结果转换为pojos列表?

时间:2019-05-30 18:58:43

标签: java amazon-dynamodb

如何将dynamoDB BatchSave API失败的批处理结果转换为pojos列表? dynamoDB BatchSave API失败的批处理结果以DDB低级API类(例如PutRequest / DeleteRequest / WriteRequest / Map)表示。

是否有一种简单的方法可以将Map转换为代表DDB表项的pojo?

花了数小时才找到解决方案。因此,如果其他人遇到类似的用例,我想提出一个问题并提供答案,以节省他们的时间。

1 个答案:

答案 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());
}