Я пытаюсь реализовать функцию, которая с учетом DynamoDB и именем таблицы, которую я знаю, существует в базе данных, определяет, является ли эта таблица пустой или нет.
Я ожидаю, что подпись будет выглядеть в Java следующим образом:
public Boolean isEmpty(DynamoDB database, String tableName) = ???
Предположим, для целей этого вопроса, что таблица имеет первичный ключ, состоящий из одного атрибута типа Integer, называемого "UserId".
Я знаю, что можно использовать сканирование для просмотра таблицы, но я (а) не знаю, как будет выглядеть выражение, и (б) нужно, чтобы оно было ограничено одним элементом, поэтому что нам не нужно сканировать всю таблицу (которая может быть большой) в случае, если она не пуста.
EDIT:
Должен ли я использовать AmazonDynamoDB
в своем конструкторе вместо DynamoDB
? У первого есть метод scan
, который принимает ScanRequest
- для которого вы можете легко установить предел, используя .limit(1)
- тогда как для второго я бы сделал что-то вроде database.getTable(tableName).scan(...)
, но это сканирование требует ScanSpec
для что мне не понятно, как установить предел для.