/** * A string informing Amazon SimpleDB where to start the next list of <code>ItemNames</code>. * * @param nextToken * A string informing Amazon SimpleDB where to start the next list of <code>ItemNames</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public SelectRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; }
/** * Get the set of all nodes in the cluster * * @param app Cluster name * @return the set of all instances in the given {@code app} */ public Set<PriamInstance> getAllIds(String app) { AmazonSimpleDB simpleDBClient = getSimpleDBClient(); Set<PriamInstance> inslist = new HashSet<>(); String nextToken = null; do { SelectRequest request = new SelectRequest(String.format(ALL_QUERY, app)); request.setNextToken(nextToken); SelectResult result = simpleDBClient.select(request); nextToken = result.getNextToken(); for (Item item : result.getItems()) { inslist.add(transform(item)); } } while (nextToken != null); return inslist; }
@Override public void initialize(final String asgName, final String region) { super.initialize(asgName, region); // End point is us-east-1 AmazonSimpleDB simpleDBClient = AmazonSimpleDBClient.builder() .withCredentials(provider.getAwsCredentialProvider()) .build(); String nextToken = null; String appid = asgName.lastIndexOf('-') > 0 ? asgName.substring(0, asgName.indexOf('-')) : asgName; logger.info("appid used to fetch properties is: {}", appid); do { String ALL_QUERY = "select * from " + DOMAIN + " where " + Attributes.APP_ID + "='%s'"; SelectRequest request = new SelectRequest(String.format(ALL_QUERY, appid)); request.setNextToken(nextToken); SelectResult result = simpleDBClient.select(request); nextToken = result.getNextToken(); for (Item item : result.getItems()) addProperty(item); } while (nextToken != null); }
/** * A string informing Amazon SimpleDB where to start the next list of <code>ItemNames</code>. * * @param nextToken * A string informing Amazon SimpleDB where to start the next list of <code>ItemNames</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public SelectRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; }
//1. Creating a SimpleDB Client AWSCredentials credentials = new BasicAWSCredentials( ACCESS_KEY, SECRET_KEY ); AmazonSimpleDBClient sdbClient = new AmazonSimpleDBClient( credentials); sdbClient.setEndpoint("sdb.us-west-1.amazonaws.com"); // to define Data Center Region //2. Select String nextToken = null; SelectRequest selectRequest = new SelectRequest( "select * from myDomain" ).withConsistentRead( true ); selectRequest.setNextToken( nextToken ); SelectResult response = sdbClient.select( selectRequest ); nextToken = response.getNextToken();
public List<Item> getItems(){ AmazonSimpleDBClient client = new AmazonSimpleDBClient(...); List<Item> items = new ArrayList<>(); String nextToken = null; do { final SelectRequest request = new SelectRequest(); request.setSelectExpression("MY SELECT QUERY"); // SimpleDB can paginate the result. For paginated result NextToken value will be not null request.setNextToken(nextToken); nextToken = null; SelectResult result = client.select(request); if (result != null) { nextToken = (result.getNextToken() != null) ? result.getNextToken() : null; items.addAll(result.getItems()); } } while (nextToken != null); return items; }
/** * Performs select expression. This expression must be in format which is understandable to SimpleDB database * @param selectExpression * @param columns * @return Iterator of List<String> results */ @Override public SelectResult performSelect(String selectExpression, String nextToken) throws TranslatorException{ try { SelectRequest selectRequest = new SelectRequest(selectExpression); if (nextToken != null) { selectRequest.setNextToken(nextToken); } selectRequest.setConsistentRead(true); return client.select(selectRequest); } catch (AmazonServiceException e) { throw new TranslatorException(e); } catch (AmazonClientException e) { throw new TranslatorException(e); } }