Вы не сможете сделать это на существующей таблице.Вам нужно будет выполнить миграцию данных в новую таблицу, которая настроена так, как вы хотите.
Если миграция данных может быть выполнена в автономном режиме, вам просто нужно Scan
все данные из оригиналаtable и PutItem
в новую таблицу.
Protip: Вы можете иметь несколько рабочих Scan
параллельно, если у вас большой стол.Вам просто нужно назначить каждому работнику Segment
.Убедитесь, что ваше решение достаточно надежно, чтобы справиться с увольнением работников, начав с нового работника и переназначая ему тот же номер Segment
.
Выполнение переноса данных в режиме реального времени также не так уж плохо.Вам нужно будет создать поток DynamoDB на исходной таблице и присоединить лямбда, которая по существу воспроизводит изменения в новой таблице.Основная стратегия заключается в том, что когда элемент удаляется, вызывайте DeleteItem
для новой таблицы, а когда элемент вставляется или обновляется, вызывайте PutItem
с NEW_IMAGE
для новой таблицы.Это захватит любую живую активность.После настройки вам необходимо скопировать данные так же, как и в автономном случае.
Независимо от того, что вы делаете, вы будете «влиять» на данные.Удаление клавиши диапазона в корне изменит способ организации данных.Имейте в виду, это также будет означать, что у вас есть другое ограничение уникальности ваших данных.