Как преобразовать неудачные пакетные результаты API DynamoDB BatchSave в список pojos? Неудачные результаты пакета API DynamoDB BatchSave представлены в классах API низкого уровня DDB, таких как PutRequest/DeleteRequest/WriteRequest/Map.
Есть ли простой способ преобразовать Map в pojo, который представляет элемент таблицы DDB?
Поиск решения занял несколько часов. Поэтому я хотел бы создать вопрос и дать ответ, чтобы сэкономить время другим, если они столкнутся с аналогичным вариантом использования.
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());
}