У меня есть ниже код: < /p>
DeleteItemOutcome outcome = table.deleteItem("id", id);
logger.info("DeleteItemOutcome:\n" + outcome);
String deletedItemId = outcome.getDeleteItemResult().getAttributes().get("id").getS();
logger.info("Deleted item id: {}", deletedItemId);
< /code>
Это работает нормально при использовании с фактической службой DynamoDB, но получение нулевого указателя при запуске в локальном использовании с использованием Dynamodblocal. < /p>
Это ошибка: < /p>
Не может вызвать "com.amazonaws.services.dynamodbv2.model.deleteItemresult.getAttributes ()" IS null. < /p>
< /blockquote>
Я смог найти решение, это исправят проблему с нулем: < /p>
DeleteItemSpec deleteItemSpec = new DeleteItemSpec()
.withPrimaryKey("id", id)
.withReturnValues(ReturnValue.ALL_OLD);
DeleteItemOutcome outcome = table.deleteItem(deleteItemSpec);
logger.info("DeleteItemOutcome:\n" + outcome);
String deletedItemId = outcome.getDeleteItemResult().getAttributes().get("id").getS();
logger.info("Deleted item id: {}", deletedItemId);
< /code>
Но я хочу знать причину этого поведения. Примечания к использованию Dynamodblocal ничего не рассказывает об этом.
Подробнее здесь: https://stackoverflow.com/questions/796 ... th-dynamod