Как преобразовать неудачные пакетные результаты API DynamoDB BatchSave в список pojos?

Как преобразовать неудачные пакетные результаты API DynamoDB BatchSave в список pojos? Неудачные результаты пакета API DynamoDB BatchSave представлены в классах API низкого уровня DDB, таких как PutRequest/DeleteRequest/WriteRequest/Map.

Есть ли простой способ преобразовать Map в pojo, который представляет элемент таблицы DDB?

Поиск решения занял несколько часов. Поэтому я хотел бы создать вопрос и дать ответ, чтобы сэкономить время другим, если они столкнутся с аналогичным вариантом использования.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
772
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
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());
}

Другие вопросы по теме