List of usage examples for com.amazonaws.services.s3.model ObjectListing getBucketName
public String getBucketName()
From source file:com.emc.vipr.s3.sample._00_CreateBucket.java
License:Open Source License
public static void main(String[] args) throws Exception { // create the ViPR S3 Client ViPRS3Client s3 = ViPRS3Factory.getS3Client(); // create the bucket - used for subsequent demo operations s3.createBucket(ViPRS3Factory.S3_BUCKET); // get bucket listing to retrieve the bucket name ObjectListing objects = s3.listObjects(ViPRS3Factory.S3_BUCKET); // print bucket name for validation System.out.println(String.format("Successfully created bucket [%s]", objects.getBucketName())); }
From source file:com.upplication.s3fs.util.AmazonS3ClientMock.java
License:Open Source License
@Override public ObjectListing listNextBatchOfObjects(ObjectListing previousObjectListing) { ObjectListing objectListing = new ObjectListing(); objectListing.setBucketName(previousObjectListing.getBucketName()); objectListing.setPrefix(previousObjectListing.getPrefix()); objectListing.setMarker(previousObjectListing.getMarker()); objectListing.setDelimiter(previousObjectListing.getDelimiter()); if (!previousObjectListing.isTruncated() || previousObjectListing.getNextMarker() == null) { return objectListing; }// ww w. j a va 2s . com Bucket bucket = find(previousObjectListing.getBucketName()); Iterator<S3Element> iterator = objects.get(bucket).iterator(); int i = 0; boolean continueElement = false; while (iterator.hasNext()) { S3Element elem = iterator.next(); if (!continueElement && elem.getS3Object().getKey().equals(previousObjectListing.getNextMarker())) { continueElement = true; } if (continueElement) { // TODO. add delimiter and marker support if (previousObjectListing.getPrefix() != null && elem.getS3Object().getKey().startsWith(previousObjectListing.getPrefix())) { S3ObjectSummary s3ObjectSummary = parseToS3ObjectSummary(elem); objectListing.getObjectSummaries().add(s3ObjectSummary); // max 1000 elements at same time. if (i + 1 == LIMIT_AWS_MAX_ELEMENTS && iterator.hasNext()) { objectListing.setTruncated(true); objectListing.setNextMarker(iterator.next().getS3Object().getKey()); return objectListing; } else { objectListing.setTruncated(false); } i++; } } } return objectListing; }
From source file:org.elasticsearch.cloud.aws.blobstore.S3BlobStore.java
License:Apache License
@Override public void delete(BlobPath path) { ObjectListing prevListing = null;/* w ww . j a v a2 s . c om*/ //From http://docs.amazonwebservices.com/AmazonS3/latest/dev/DeletingMultipleObjectsUsingJava.html //we can do at most 1K objects per delete //We don't know the bucket name until first object listing DeleteObjectsRequest multiObjectDeleteRequest = null; ArrayList<KeyVersion> keys = new ArrayList<KeyVersion>(); while (true) { ObjectListing list; if (prevListing != null) { list = client.listNextBatchOfObjects(prevListing); } else { String keyPath = path.buildAsString("/"); if (!keyPath.isEmpty()) { keyPath = keyPath + "/"; } list = client.listObjects(bucket, keyPath); multiObjectDeleteRequest = new DeleteObjectsRequest(list.getBucketName()); } for (S3ObjectSummary summary : list.getObjectSummaries()) { keys.add(new KeyVersion(summary.getKey())); //Every 500 objects batch the delete request if (keys.size() > 500) { multiObjectDeleteRequest.setKeys(keys); client.deleteObjects(multiObjectDeleteRequest); multiObjectDeleteRequest = new DeleteObjectsRequest(list.getBucketName()); keys.clear(); } } if (list.isTruncated()) { prevListing = list; } else { break; } } if (!keys.isEmpty()) { multiObjectDeleteRequest.setKeys(keys); client.deleteObjects(multiObjectDeleteRequest); } }
From source file:org.elasticsearch.repositories.s3.S3BlobStore.java
License:Apache License
@Override public void delete(BlobPath path) { AccessController.doPrivileged((PrivilegedAction<Object>) () -> { ObjectListing prevListing = null; //From http://docs.amazonwebservices.com/AmazonS3/latest/dev/DeletingMultipleObjectsUsingJava.html //we can do at most 1K objects per delete //We don't know the bucket name until first object listing DeleteObjectsRequest multiObjectDeleteRequest = null; ArrayList<KeyVersion> keys = new ArrayList<>(); while (true) { ObjectListing list; if (prevListing != null) { list = client.listNextBatchOfObjects(prevListing); } else { list = client.listObjects(bucket, path.buildAsString()); multiObjectDeleteRequest = new DeleteObjectsRequest(list.getBucketName()); }/*from ww w .ja v a2 s . c o m*/ for (S3ObjectSummary summary : list.getObjectSummaries()) { keys.add(new KeyVersion(summary.getKey())); //Every 500 objects batch the delete request if (keys.size() > 500) { multiObjectDeleteRequest.setKeys(keys); client.deleteObjects(multiObjectDeleteRequest); multiObjectDeleteRequest = new DeleteObjectsRequest(list.getBucketName()); keys.clear(); } } if (list.isTruncated()) { prevListing = list; } else { break; } } if (!keys.isEmpty()) { multiObjectDeleteRequest.setKeys(keys); client.deleteObjects(multiObjectDeleteRequest); } return null; }); }