Я смотрел документацию для AWS DynamoDB QueryRequest
адресу: http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/model/QueryRequest.html#getQueryFilter()
Эта документация предполагает, что addQueryFilterEntry
является допустимой функцией внутри класса QueryRequest
. Однако символ, кажется, отсутствует в баночках Dynamo DB V2, которые я использую. Есть ли у кого-нибудь предложения относительно того, что я должен сделать, чтобы отфильтровать результаты поиска, прежде чем возвращать их? Я бы предпочел не пропустить результаты и удалить недопустимые результаты на уровне приложения.
Мой код выглядит примерно так:
import com.amazonaws.services.dynamodbv2.model.QueryRequest;
String hashKey = Utilities.normalize(user_id);
Condition hashKeyCondition = new Condition()
.withComparisonOperator(ComparisonOperator.EQ.toString())
.withAttributeValueList(new AttributeValue().withS(hashKey));
Map<String, Condition> keyConditions = new HashMap<String, Condition>();
keyConditions.put("UserId", hashKeyCondition);
// Gets count of all matching results.
QueryRequest queryRequest = new QueryRequest().withTableName(storiesTable)
.withKeyConditions(keyConditions)
.withSelect(Select.COUNT)
.withConsistentRead(true);
QueryResult result = dynamoDB.query(queryRequest);
int countResults = result.getCount();
Я хотел бы добавить: queryRequest = queryRequest.addQueryFilterEntry(key, Condition), и это не компилирует отчет об ошибке, обнаруживая символ.
Перед тем, как начать работу с последним сайтом документации, убедитесь, что вы обновили до новейшего SDK Java AWS (по состоянию на 10 июля 2014 г. он 1.8.3).
вам нужно предоставить более подробную информацию.
убедитесь, что вы импортируете последнюю версию QueryRequest
import com.amazonaws.services.dynamodbv2.model.QueryRequest;