Query Index in DynamoDB Using Java (Guide w/ Code Examples)
![Rafal Wilinski](https://pbs.twimg.com/profile_images/1390706809548197895/SVCKpLNE_400x400.png)
Provided by Rafal Wilinski
You can use the QueryRequest
class offered in the DynamoDB SDK to perform a query. You will have to provide a Table Name, Optional Index Name, and a Key Condition Expression. If you've provided an Index Name, DynamoDB will query the index belonging to the table. However, if the index is not found, DynamoDB will throw an error.
The following code example queries the "MyTable" table using the LastNameIndex
index for items where the lastName
attribute is "Smith". The QueryRequest
class is used to specify the index name and the key condition expression, which in this case, is lastName = :val
. The expressionAttributeValues
map is used to specify the value to be used in the key condition expression, in this case ":val
" is mapped to the value Smith
.
import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.QueryRequest; import com.amazonaws.services.dynamodbv2.model.QueryResult; public class QueryIndexExample { public static void main(String[] args) { AmazonDynamoDB client = AmazonDynamoDBClientBuilder.defaultClient(); Map<String, AttributeValue> expressionAttributeValues = new HashMap<>(); expressionAttributeValues.put(":val", new AttributeValue().withS("Smith")); QueryRequest queryRequest = new QueryRequest() .withTableName("MyTable") .withIndexName("LastNameIndex") .withKeyConditionExpression("lastName = :val") .withExpressionAttributeValues(expressionAttributeValues); QueryResult result = client.query(queryRequest); result.getItems().forEach(item -> System.out.println(item)); } }
Similar Code Examples
- Query Date Range in DynamoDB Using Java
- Conditional Update in DynamoDB Using Java
- Get Multiple Items in DynamoDB Using Java
- Update Multiple Attributes in DynamoDB Using Java
- Delete All Using DynamoDB Mapper
- Update Expression in DynamoDB Using Java
- Batch Insert in DynamoDB Using Java
- Query Local Secondary Index in DynamoDB Using Java
- Delete Expression in DynamoDB Using Java
- Get Item Request in DynamoDB Using Java
- Remove Attribute in DynamoDB Using Java
- Delete Record in DynamoDB Using Java
- Batch Get in DynamoDB Using Java
- GetItem in DynamoDB Using Java
- Delete in DynamoDB Using Java