Скажем, у меня есть следующий POJO с необходимыми методами и материалами для успешной загрузки и сохранения элементов в таблицу DDB:
@DynamoDBTable(tableName = "my_ddb_table")
public class MyDDBTableItem {
@DynamoDBHashKey(attributeName="id")
private String id; // primary key
private String a_value;
private Set<String> some_values;
}
Я использую DynamoDBMapper.batchload (), поэтому мне нужно принять меры если исключение выдается. Я никогда раньше не работал с DDB, поэтому я не уверен, что означают некоторые из их терминов (например, для getKeys () : «Значения атрибутов первичного ключа, которые определяют элементы и атрибуты, связанные с элементами. «).
В настоящее время я хочу получить некоторую коллекцию (list, set, et c.) Необработанных первичных ключей. Это правильный способ сделать это (я не знаю, как я это проверю)?
try {
dynamoDBMapper.batchload(itemsToGet)...
} catch (BatchGetItemException e) {
// I could get them as strings or as the instances of the class MyDDBTableItem, but I'll use String here.
List<String> unprocessedKeys = e.getUnprocessedKeys()
.get("my_ddb_table")
.getKeys() // after this is where I am unclear.
.stream()
.map(map -> map.get("id").getS())
.collect(Collectors.toList());
...
}