У меня есть таблица DynamoDB, в которой есть created
столбец даты / времени, который указывает, когда запись / элемент была вставлена в таблицу. В этой таблице у меня есть данные за 20 лет (записи были перенесены из предыдущей базы данных), и теперь я хотел бы усечь все, что старше 6 месяцев, для продвижения вперед.
Очевидная вещь, которую нужно сделать здесь, это установить TTL на стол на 6 месяцев, однако я понимаю, что AWS TTL возвращаются только на определенное количество лет (пожалуйста, исправьте меня, если вы знаете иначе!). Таким образом, я понимаю, что если бы я установил 6-месячный TTL для 20-летних данных, я мог бы удалить запись, начиная с 6-месячного возраста, возможно, на 3 - 5 лет, но тогда было бы очень много действительно старые данные остались без изменений TTL (еще раз, пожалуйста, исправьте меня, если вы знаете иначе!). Итак, я думаю, что я ищу:
- Возможность ручного одноразового удаления данных старше 6 месяцев; и
- Возможность установить 6-месячный TTL, двигаясь вперед
Для первого мне нужно выполнить что-то , например DELETE FROM mytable WHERE created > '2018-06-25'
, однако я не могу понять, как это сделать из консоли управления AWS / DynamoDB, есть идеи?
Для второй части, когда я иду на Управление TTL в консоли DynamoDB:
На самом деле я не вижу, где бы я установил 6-месячный срок действия. Это поля даты / времени в самом низу этого диалога ?! Мне кажется странным ... если бы это было так, то TTL не был бы прокручиваемым 6-месячным окном, это был бы просто жестко заданный момент времени, который мне нужно было бы обновлять вручную, чтобы данные никогда не превышали 6 месяцев ...