use of com.amazonaws.services.s3.model.Filter in project emodb by bazaarvoice.
the class StashReader method getS3ObjectSummaries.
private Iterator<S3ObjectSummary> getS3ObjectSummaries(final String prefix) {
final int prefixLength = prefix.length();
Iterator<S3ObjectSummary> allSummaries = Iterators.concat(new AbstractIterator<Iterator<S3ObjectSummary>>() {
String marker = null;
ObjectListing response;
protected Iterator<S3ObjectSummary> computeNext() {
if (response == null || response.isTruncated()) {
response = _s3.listObjects(new ListObjectsRequest().withBucketName(_bucket).withPrefix(prefix).withDelimiter("/").withMarker(marker).withMaxKeys(1000));
marker = response.getNextMarker();
return response.getObjectSummaries().iterator();
}
return endOfData();
}
});
// Sometimes the prefix itself can come back as a result. Filter that entry out.
return Iterators.filter(allSummaries, new Predicate<S3ObjectSummary>() {
@Override
public boolean apply(S3ObjectSummary summary) {
return summary.getKey().length() > prefixLength;
}
});
}
use of com.amazonaws.services.s3.model.Filter in project kafka-connect-file-pulse by streamthoughts.
the class AmazonS3FileSystemListing method listObjects.
/**
* {@inheritDoc}
*/
@Override
public Collection<FileObjectMeta> listObjects() {
final ListObjectsRequest request = new ListObjectsRequest();
request.setBucketName(config.getAwsS3BucketName());
if (isNotBlank(config.getAwsS3BucketPrefix()))
request.setPrefix(config.getAwsS3BucketPrefix());
final List<FileObjectMeta> objectMetaList = new LinkedList<>();
ObjectListing objectListing;
try {
do {
LOG.debug("Sending new request for listing objects: bucketName={}, prefix={}", request.getBucketName(), request.getPrefix());
objectListing = client.listObjects(request);
objectMetaList.addAll(objectListing.getObjectSummaries().stream().map(s3ObjectSummary -> new S3BucketKey(s3ObjectSummary.getBucketName(), s3ObjectSummary.getKey())).map(s3Storage::getObjectMetadata).filter(Objects::nonNull).collect(Collectors.toList()));
String marker = objectListing.getNextMarker();
if (marker != null) {
LOG.debug("Object listing is truncated, next marker is {}", marker);
request.setMarker(marker);
}
} while (objectListing.isTruncated());
} catch (AmazonServiceException e) {
LOG.error("Failed to list objects from the Amazon S3 bucket '{}'. " + "Error occurred while processing the request: {}", config.getAwsS3BucketName(), e);
} catch (SdkClientException e) {
LOG.error("Failed to list objects from the Amazon S3 bucket '{}'. " + "Error occurred while making the request or handling the response: {}", config.getAwsS3BucketName(), e);
}
return filter == null ? objectMetaList : filter.filterFiles(objectMetaList);
}
use of com.amazonaws.services.s3.model.Filter in project spring-cloud-aws by awspring.
the class AutoDetectingStackNameProvider method autoDetectStackName.
private String autoDetectStackName(String instanceId) {
Assert.notNull(instanceId, "No valid instance id defined");
DescribeStackResourcesResult describeStackResourcesResult = this.amazonCloudFormationClient.describeStackResources(new DescribeStackResourcesRequest().withPhysicalResourceId(instanceId));
if (describeStackResourcesResult != null && describeStackResourcesResult.getStackResources() != null && !describeStackResourcesResult.getStackResources().isEmpty()) {
return describeStackResourcesResult.getStackResources().get(0).getStackName();
}
if (this.amazonEc2Client != null) {
DescribeTagsResult describeTagsResult = this.amazonEc2Client.describeTags(new DescribeTagsRequest().withFilters(new Filter("resource-id", Collections.singletonList(instanceId)), new Filter("resource-type", Collections.singletonList("instance")), new Filter("key", Collections.singletonList("aws:cloudformation:stack-name"))));
if (describeTagsResult != null && describeTagsResult.getTags() != null && !describeTagsResult.getTags().isEmpty()) {
return describeTagsResult.getTags().get(0).getValue();
}
}
return null;
}
use of com.amazonaws.services.s3.model.Filter in project spring-cloud-aws by awspring.
the class AmazonEc2InstanceUserTagsFactoryBean method createInstance.
@Override
protected Map<String, String> createInstance() throws Exception {
LinkedHashMap<String, String> properties = new LinkedHashMap<>();
DescribeTagsResult tags = this.amazonEc2.describeTags(new DescribeTagsRequest().withFilters(new Filter("resource-id", Collections.singletonList(this.idProvider.getCurrentInstanceId())), new Filter("resource-type", Collections.singletonList("instance"))));
for (TagDescription tag : tags.getTags()) {
properties.put(tag.getKey(), tag.getValue());
}
return properties;
}
use of com.amazonaws.services.s3.model.Filter in project Gatekeeper by FINRAOS.
the class SGLookupService method loadSgsForAccountRegion.
private List<String> loadSgsForAccountRegion(AWSEnvironment environment) {
logger.info("Grabbing SGs for environment " + environment);
DescribeSecurityGroupsRequest describeSecurityGroupsRequest = new DescribeSecurityGroupsRequest();
Filter groupNameFilter = new Filter();
groupNameFilter.setName("group-name");
groupNameFilter.setValues(Arrays.asList(securityGroupNames.split(",")));
AmazonEC2Client amazonEC2Client = awsSessionService.getEC2Session(environment);
DescribeSecurityGroupsResult result = amazonEC2Client.describeSecurityGroups(describeSecurityGroupsRequest.withFilters(groupNameFilter));
logger.info("found " + result.getSecurityGroups().size() + " Security Groups with name(s) '" + securityGroupNames + "'");
return result.getSecurityGroups().stream().map(SecurityGroup::getGroupId).collect(Collectors.toList());
}
Aggregations