I am trying to query my DynamoDB table for an individual record using a unique partition key:
DynamoDBQueryExpression queryExpression=new DynamoDBQueryExpression()
.withHashKeyValues("parkurself")
.withFilterExpression("Latitude>25")
.withFilterExpression("Latitude<40")
.withFilterExpression("Longitude>25")
.withFilterExpression("Longitude<40")
.withConsistentRead(false);
PaginatedQueryList<ParkingInfo> result=mapper.query(ParkingInfo.class, queryExpression);
However, I have received an error "No hash key condition is found in the query" The Logcat is being attached.
Caused by: java.lang.IllegalArgumentException: Illegal query expression: No hash key condition is found in the query
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.processKeyConditions(DynamoDBMapper.java:2420)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.createQueryRequestFromExpression(DynamoDBMapper.java:2382)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.query(DynamoDBMapper.java:2166)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.query(DynamoDBMapper.java:2127)
at monster.com.parkurself.QueryParkingInfo.doInBackground(QueryParkingInfo.java:63)
at monster.com.parkurself.QueryParkingInfo.doInBackground(QueryParkingInfo.java:18)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
I don't know how to fix it. Can anyone give me some help? Thank you in advance.