List of usage examples for com.amazonaws.services.simpledb.model SelectRequest withNextToken
public SelectRequest withNextToken(String nextToken)
ItemNames
. From source file:br.com.ingenieux.mojo.simpledb.cmd.DumpDomainCommand.java
License:Apache License
public boolean execute(DumpDomainContext context) throws Exception { SelectRequest selectRequest = new SelectRequest(String.format("SELECT * FROM %s", context.getDomain())); SelectResult selectResult = service.select(selectRequest); ArrayNode rootNode = mapper.createArrayNode(); while (!selectResult.getItems().isEmpty()) { for (Item item : selectResult.getItems()) appendResult(rootNode, item); if (isBlank(selectResult.getNextToken())) break; selectResult = service.select(selectRequest.withNextToken(selectResult.getNextToken())); }//from www . ja v a 2 s . c om FileWriter writer = new FileWriter(context.getOutputFile()); writeData(rootNode, writer); IOUtil.close(writer); return false; }
From source file:com.netflix.simianarmy.aws.SimpleDBRecorder.java
License:Apache License
/** * Find events.//ww w . ja v a 2 s .c om * * @param queryMap * the query map * @param after * the start time to query for all events after * @return the list */ protected List<Event> findEvents(Map<String, String> queryMap, long after) { StringBuilder query = new StringBuilder( String.format("select * from `%s` where region = '%s'", domain, region)); for (Map.Entry<String, String> pair : queryMap.entrySet()) { query.append(String.format(" and %s = '%s'", pair.getKey(), pair.getValue())); } query.append(String.format(" and eventTime > '%d'", after)); // always return with most recent record first query.append(" order by eventTime desc"); List<Event> list = new LinkedList<Event>(); SelectRequest request = new SelectRequest(query.toString()); request.setConsistentRead(Boolean.TRUE); SelectResult result = new SelectResult(); do { result = sdbClient().select(request.withNextToken(result.getNextToken())); for (Item item : result.getItems()) { Map<String, String> fields = new HashMap<String, String>(); Map<String, String> res = new HashMap<String, String>(); for (Attribute attr : item.getAttributes()) { if (Keys.KEYSET.contains(attr.getName())) { res.put(attr.getName(), attr.getValue()); } else { fields.put(attr.getName(), attr.getValue()); } } String eid = res.get(Keys.id.name()); String ereg = res.get(Keys.region.name()); MonkeyType monkeyType = valueToEnum(MonkeyType.class, res.get(Keys.monkeyType.name())); EventType eventType = valueToEnum(EventType.class, res.get(Keys.eventType.name())); long eventTime = Long.parseLong(res.get(Keys.eventTime.name())); list.add(new BasicRecorderEvent(monkeyType, eventType, ereg, eid, eventTime).addFields(fields)); } } while (result.getNextToken() != null); return list; }