|
5 | 5 | import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable;
|
6 | 6 | import software.amazon.awssdk.enhanced.dynamodb.TableSchema;
|
7 | 7 | 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; |
8 | 10 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
|
9 | 11 | import software.amazon.cryptography.materialproviders.IKeyring;
|
10 | 12 | import software.amazon.cryptography.materialproviders.MaterialProviders;
|
|
17 | 19 | import software.amazon.cryptography.dbencryptionsdk.dynamodb.enhancedclient.DynamoDbEnhancedTableEncryptionConfig;
|
18 | 20 | import software.amazon.awssdk.enhanced.dynamodb.Key;
|
19 | 21 |
|
| 22 | + |
20 | 23 | import java.util.HashMap;
|
21 | 24 | import java.util.Map;
|
| 25 | +import java.util.List; |
| 26 | +import java.util.ArrayList; |
22 | 27 |
|
23 | 28 | /*
|
24 | 29 | This example sets up DynamoDb Encryption for the DynamoDb Enhanced Client
|
@@ -153,6 +158,14 @@ public static void PutItemGetItem(String kmsKeyId, String ddbTableName) {
|
153 | 158 |
|
154 | 159 | // Demonstrate we get the original item back
|
155 | 160 | 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!"); |
156 | 169 | }
|
157 | 170 |
|
158 | 171 | public static void main(final String[] args) {
|
|
0 commit comments