How do you perform a scan using aws new sdk v2 for java? There is very little documentation out there.
Asked
Active
Viewed 490 times
1 Answers
0
The documentation is scan-t on this because the v2 sdk is very new, so I had to dig into the API and really play around with how to do a simple scan + pagination using the v2 sdk. Here is the code sample that worked for me. Season to taste.
int count = 0;
DynamoDbClient ddb = DynamoDbClient.create();
ScanRequest request = ScanRequest.builder().tableName("Artists").limit(100).build();
ScanIterable scanResponses = ddb.scanPaginator(request);
List < Map < String, AttributeValue >> items;
Iterator < Map < String, AttributeValue >> map_it;
Map < String, AttributeValue > currentmap = null;
Set < String > mapKeys;
Iterator < String > keys_it;
String currentkey;
for (software.amazon.awssdk.services.dynamodb.model.ScanResponse response: scanResponses) {
count += response.count();
items = response.items();
map_it = items.iterator();
while (map_it.hasNext()) {
currentmap = map_it.next();
mapKeys = currentmap.keySet();
keys_it = mapKeys.iterator();
while (keys_it.hasNext()) {
currentkey = keys_it.next();
if (currentkey.equals("id")) // my results will have a "number" type id
System.out.println(currentkey + "=" + currentmap.get(currentkey).n());
else // the rest are strings
System.out.println(currentkey + "=" + currentmap.get(currentkey).s());
}
}
}
System.out.println("count=" + count);
Results like:
id=252593
object={some: "objectstring"}
artistDiscogs=Joan Jett
coverImage=https://img.discogs.com/CxmwMYC3XxF7CJdpKwCnpQUZEaE=/600x776/smart/filters:strip_icc():format(jpeg):mode_rgb():quality(90)/discogs-images/A-283542-1430342671-6179.jpeg.jpg
name=joan jett

fivedogit
- 8,374
- 7
- 34
- 43