2013-05-31 5 views
0

Я загрузил версию 1.4.5 SDK Java SDK, и у меня возникла проблема с переносом запроса в таблицу DynamoDB. Это простой запрос хэша + диапазона.Исключение DynamoDBMapper v2

V1 работает нормально:

Condition c = new Condition().withComparisonOperator(ComparisonOperator.LT) 
         .withAttributeValueList(new AttributeValue(new Date().toString())); 
DynamoDBQueryExpression q = new DynamoDBQueryExpression(new AttributeValue("john")).withRangeKeyCondition(c); 

V2 АФИ, кажется, работает немного по-другому. изменения подписи метода требуется код, который будет переписан как:

Condition c = new Condition().withComparisonOperator(ComparisonOperator.LT) 
           .withAttributeValueList(new AttributeValue(new Date().toString())); 
DynamoDBQueryExpression q = new DynamoDBQueryExpression() 
            .withIndexName("user") 
            .withHashKeyValues("john") 
            .withRangeKeyCondition("timestamp", c); 

АМС SDK генерирует исключение:

The range key(timestamp) in the query is the primary key of the table, not the range key of index(user)           

ли какой-либо один есть пример кода, показывающий, как выполнить запрос с новым v2 api для DynamoDB?

+0

Каковы имена атрибутов хэша и диапазона? –

+0

Chen, имя таблицы - это пользователи с хешем и ключом диапазона. У пользователя есть «пользователь», а диапазон - «метка времени». Примечание. Поскольку я разместил это в StackOverflow, мне удалось получить эту работу с низкоуровневыми API Java AWS. Я до сих пор не смог понять это, используя API более высокого уровня. –

ответ

1

Извините, если это будет поздно, но если это поможет вам или кому-либо еще, проблема с вашим кодом при вызове .withIndexName("john").

Вы используете withIndexName() для запроса с использованием локального или глобального вторичного индекса; а не для запросов с использованием хеш-ключа или хэш-клавиши и клавиши диапазона таблицы. DynamoDB ищет локальный или глобальный вторичный индекс с именем "john", когда вы хотите найти элементы с хэш-ключом "john".

Смежные вопросы