В вашем случае вам нужно использовать имена атрибутов выражений и значения атрибутов выражений . Это очень хорошая практика в любом запросе DynamoDB.
Обратите внимание, что вам также необходимо установить ключ раздела (см. #pk
и :pk
ниже).
aws dynamodb query \
--table-name TABLE_NAME \
--key-condition-expression "#pk = :pk AND #sk BETWEEN :a and :b" \
--expression-attribute-names '{"#sk": "sort_key", "#pk": "partition_key"}' \
--expression-attribute-values '{":a": {"S":"3456|67"}, ":b": {"S":"8968|67"}, ":pk":{"S":"partition_key_value"}}'
Я не использовал этот синтаксис какое-то время, возможно, есть небольшая синтаксическая ошибка, но это то, что вам нужно сделать, чтобы запросить с помощью BETWEEN
.
См. последний пример о KeyConditions :
aws dynamodb query \
--table-name Music \
--key-condition-expression 'Artist = :a AND SongTitle BETWEEN :t1 AND :t2' \
--expression-attribute-values '{
":a": {"S": "No One You Know"},
":t1": {"S": "A"},
":t2": {"S": "M"}
}'