use of software.amazon.awssdk.services.s3.model.S3Object in project archaius by Netflix.
the class S3ConfigurationSource method poll.
@Override
public PollResult poll(boolean initial, Object checkPoint) throws IOException, AmazonServiceException {
GetObjectRequest s3request = new GetObjectRequest(bucketName, key);
InputStream is = null;
try {
S3Object result = client.getObject(s3request);
is = result.getObjectContent();
Map<String, Object> resultMap = inputStreamToMap(is);
return PollResult.createFull(resultMap);
} finally {
if (is != null)
is.close();
}
}
use of software.amazon.awssdk.services.s3.model.S3Object in project camel by apache.
the class S3Consumer method poll.
@Override
protected int poll() throws Exception {
// must reset for each poll
shutdownRunningTask = null;
pendingExchanges = 0;
String fileName = getConfiguration().getFileName();
String bucketName = getConfiguration().getBucketName();
Queue<Exchange> exchanges;
if (fileName != null) {
LOG.trace("Getting object in bucket [{}] with file name [{}]...", bucketName, fileName);
S3Object s3Object = getAmazonS3Client().getObject(new GetObjectRequest(bucketName, fileName));
exchanges = createExchanges(s3Object);
} else {
LOG.trace("Queueing objects in bucket [{}]...", bucketName);
ListObjectsRequest listObjectsRequest = new ListObjectsRequest();
listObjectsRequest.setBucketName(bucketName);
listObjectsRequest.setPrefix(getConfiguration().getPrefix());
if (maxMessagesPerPoll > 0) {
listObjectsRequest.setMaxKeys(maxMessagesPerPoll);
}
// if there was a marker from previous poll then use that to continue from where we left last time
if (marker != null) {
LOG.trace("Resuming from marker: {}", marker);
listObjectsRequest.setMarker(marker);
}
ObjectListing listObjects = getAmazonS3Client().listObjects(listObjectsRequest);
if (listObjects.isTruncated()) {
marker = listObjects.getNextMarker();
LOG.trace("Returned list is truncated, so setting next marker: {}", marker);
} else {
// no more data so clear marker
marker = null;
}
if (LOG.isTraceEnabled()) {
LOG.trace("Found {} objects in bucket [{}]...", listObjects.getObjectSummaries().size(), bucketName);
}
exchanges = createExchanges(listObjects.getObjectSummaries());
}
return processBatch(CastUtils.cast(exchanges));
}
use of software.amazon.awssdk.services.s3.model.S3Object in project camel by apache.
the class S3Consumer method createExchanges.
protected Queue<Exchange> createExchanges(List<S3ObjectSummary> s3ObjectSummaries) {
if (LOG.isTraceEnabled()) {
LOG.trace("Received {} messages in this poll", s3ObjectSummaries.size());
}
Queue<Exchange> answer = new LinkedList<Exchange>();
for (S3ObjectSummary s3ObjectSummary : s3ObjectSummaries) {
S3Object s3Object = getAmazonS3Client().getObject(s3ObjectSummary.getBucketName(), s3ObjectSummary.getKey());
Exchange exchange = getEndpoint().createExchange(s3Object);
answer.add(exchange);
}
return answer;
}
use of software.amazon.awssdk.services.s3.model.S3Object in project camel by apache.
the class S3BatchConsumerTest method createRegistry.
@Override
protected JndiRegistry createRegistry() throws Exception {
JndiRegistry registry = super.createRegistry();
AmazonS3ClientMock clientMock = new AmazonS3ClientMock();
// add 6 messages, one more we will poll
for (int counter = 0; counter < 6; counter++) {
S3Object s3Object = new S3Object();
s3Object.setBucketName("mycamelbucket");
s3Object.setKey("counter-" + counter);
clientMock.objects.add(s3Object);
}
registry.bind("amazonS3Client", clientMock);
return registry;
}
use of software.amazon.awssdk.services.s3.model.S3Object in project jackrabbit-oak by apache.
the class S3Backend method read.
@Override
public InputStream read(DataIdentifier identifier) throws DataStoreException {
long start = System.currentTimeMillis();
String key = getKeyName(identifier);
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
S3Object object = s3service.getObject(bucket, key);
InputStream in = object.getObjectContent();
LOG.debug("[{}] read took [{}]ms", identifier, (System.currentTimeMillis() - start));
return in;
} catch (AmazonServiceException e) {
throw new DataStoreException("Object not found: " + key, e);
} finally {
if (contextClassLoader != null) {
Thread.currentThread().setContextClassLoader(contextClassLoader);
}
}
}
Aggregations