удалить элемент по условию в AWS Dynamodb

Таблица в DynamoDB выглядит следующим образом:

partition_key, created_at

Я намерен удалить элементы на основе created_at - если данные слишком старые, удалить их. Я попробовал следующую команду:

aws dynamodb delete-item --table-name my_table --condition-expression "created_at <= 1479655145317"

Но он жалуется: aws: error: аргумент --key is required, я намерен удалить элемент, не основанный на ключе раздела, какие-либо предложения? Спасибо.


person KAs    schedule 15.05.2017    source источник


Ответы (2)


Ключ раздела необходим для удаления элемента из DynamoDB. Обходного пути для удаления элемента без предоставления ключа раздела не существует.

В приведенном выше случае вам потребуется двухэтапный процесс.

1) Просканируйте или запросите (если у вас есть GSI на created_at), чтобы получить ключ раздела, который необходимо удалить

2) Используйте api удаления элемента, чтобы удалить элемент на основе ключа раздела

person notionquest    schedule 15.05.2017

В некоторой степени связано: время жизни (TTL) для DynamoDB позволяет вам определять, когда истекает срок действия элементов в таблице, чтобы их можно было автоматически удалить из базы данных. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html

person izelrea    schedule 17.05.2017