Skip to content

Commit cb21c00

Browse files
authored
feat: add query to enhanced client example (#766)
1 parent a87ef0e commit cb21c00

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Examples/runtimes/java/DynamoDbEncryption/src/main/java/software/amazon/cryptography/examples/enhanced/EnhancedPutGetExample.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable;
66
import software.amazon.awssdk.enhanced.dynamodb.TableSchema;
77
import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest;
8+
import software.amazon.awssdk.enhanced.dynamodb.model.PageIterable;
9+
import software.amazon.awssdk.enhanced.dynamodb.model.QueryConditional;
810
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
911
import software.amazon.cryptography.materialproviders.IKeyring;
1012
import software.amazon.cryptography.materialproviders.MaterialProviders;
@@ -17,8 +19,11 @@
1719
import software.amazon.cryptography.dbencryptionsdk.dynamodb.enhancedclient.DynamoDbEnhancedTableEncryptionConfig;
1820
import software.amazon.awssdk.enhanced.dynamodb.Key;
1921

22+
2023
import java.util.HashMap;
2124
import java.util.Map;
25+
import java.util.List;
26+
import java.util.ArrayList;
2227

2328
/*
2429
This example sets up DynamoDb Encryption for the DynamoDb Enhanced Client
@@ -153,6 +158,14 @@ public static void PutItemGetItem(String kmsKeyId, String ddbTableName) {
153158

154159
// Demonstrate we get the original item back
155160
assert result.getAttribute1().equals("encrypt and sign me!");
161+
162+
// retrieve the same record via a Query
163+
PageIterable<SimpleClass> items = table.query(QueryConditional.keyEqualTo(k -> k.partitionValue("EnhancedPutGetExample")));
164+
List<SimpleClass> itemList = new ArrayList<SimpleClass>();
165+
166+
items.stream().forEach(p -> p.items().forEach(itemList::add));
167+
assert itemList.size() == 1;
168+
assert itemList.get(0).getAttribute1().equals("encrypt and sign me!");
156169
}
157170

158171
public static void main(final String[] args) {

0 commit comments

Comments
 (0)