Очевидно, что вы не можете запросить таблицу по имени, так как она не является ключом раздела / ha sh. Либо вы можете использовать сканирование, либо вы должны указать name
в качестве поля GSI и затем запросить его. Команда сканирования будет выглядеть следующим образом:
dynamoDBMapper.scan(Table.class, new DynamoDBScanExpression());
Приведенная выше команда будет сканировать всю таблицу. Прочитайте о DynamoDBScanExpression здесь , чтобы увидеть, как вы можете отфильтровать его с указанием c name
.
. Вы можете добавить фильтр, например name
, например:
public Table getByName(String name) {
DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
scanExpression.addFilterCondition("name", new Condition()
.withComparisonOperator(ComparisonOperator.EQ)
.withAttributeValueList(new AttributeValue().withS(name)));
dynamoDBMapper.scan(Table.class, scanExpression);
}