DynamoDB ждет, пока таблица не станет активной - PullRequest
0 голосов
/ 04 июля 2019

Я работаю над проектом, в котором мы используем DynamoDB в качестве базы данных.

Я использовал TableUtils из import com.amazonaws.services.dynamodbv2.util.TableUtils; создать таблицу, если она не существует.

CreateTableRequest tableRequest = dynamoDBMapper.generateCreateTableRequest(cls);
tableRequest.setProvisionedThroughput(new ProvisionedThroughput(5L, 5L));
boolean created = TableUtils.createTableIfNotExists(amazonDynamoDB, tableRequest);

Теперь после создания таблицы мне нужно нажать на данные, как только они станут активными. Я видел, что есть способ сделать это

 try {
    TableUtils.waitUntilActive(amazonDynamoDB, cls.getSimpleName());
    } catch (Exception e) {
    // TODO: handle exception
}

Но это занимает 10 минут.

Есть ли в TableUtils метод, который возвращается, как только таблица становится активной.

1 Ответ

0 голосов
/ 08 июля 2019

Я реализовал решение для этого на языке GO.

Вот резюме.

  1. Вы должны использовать API - DescribeTable или соответствующий API.

  2. Входные данные для этого API будут DescribeTableInput, гдеВы указываете имя таблицы.

  3. Вам нужно будет выполнять опрос в цикле, пока таблица не станет активной.

  4. Вывод команды DescribeТаблица предоставит вам статус таблицы (результат. Table.TableStatus)

  5. Если статус «ACTIVE», то вы можете вставить информацию.В противном случае вам нужно будет продолжить цикл.

В моем случае таблицы становятся активными менее чем за одну минуту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...