К сожалению, вы можете использовать только другой ключ, дословно - без преобразований или пользовательскую логику.
Однако, если это важно для вас, вы можете включить потоки DynamoDB на вашем столе и использовать их для запуска лямбда-выражения. Лямбда может либо :
- Добавляет / обновляет столбец с вашим пользовательским логическим значением в вашей таблице, которое вы будете использовать для GSI (просто будьте внимательны, проверяя документ UPDATE, чтобы не застрять в бесконечном цикле!)
- Заполните / обновите вторую таблицу с помощью пользовательского логического ключа и любых необходимых атрибутов.
Я бы, вероятно, склонялся к первому, потому что тогда удаление и синхронизация данных по-прежнему входит в обязанности DynamoDB.
n.b. если вам нужно, чтобы ваш ключ был только двумя объединенными значениями, вы можете просто использовать одно в качестве раздела, а другое - в качестве сортировки для GSI.