Example usage for com.amazonaws.services.s3.model DeleteObjectsRequest withKeys

List of usage examples for com.amazonaws.services.s3.model DeleteObjectsRequest withKeys

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model DeleteObjectsRequest withKeys.

Prototype

public DeleteObjectsRequest withKeys(String... keys) 

Source Link

Document

Convenience method to specify a set of keys without versions.

Usage

From source file:awslabs.lab21.SolutionCode.java

License:Open Source License

@Override
public void deleteBucket(AmazonS3 s3Client, String bucketName) {
    // First, try to delete the bucket.
    DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest(bucketName);

    try {/*from  w w  w  .  j a v  a2s .c o  m*/
        s3Client.deleteBucket(deleteBucketRequest);
        // If we got here, no error was generated so we'll assume the bucket was deleted and return.
        return;
    } catch (AmazonS3Exception ex) {
        if (!ex.getErrorCode().equals("BucketNotEmpty")) {
            // The only other exception we're going to handle is BucketNotEmpty, so rethrow anything else.
            throw ex;
        }
    }

    // If we got here, the bucket isn't empty, so delete the contents and try again.
    List<KeyVersion> keys = new ArrayList<KeyVersion>();
    for (S3ObjectSummary obj : s3Client.listObjects(bucketName).getObjectSummaries()) {
        // Add the keys to our list of object.
        keys.add(new KeyVersion(obj.getKey()));
    }
    // Create the request to delete the objects.
    DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName);
    deleteObjectsRequest.withKeys(keys);
    // Submit the delete objects request.
    s3Client.deleteObjects(deleteObjectsRequest);

    // The bucket is empty now, so attempt the delete again.
    s3Client.deleteBucket(deleteBucketRequest);
}

From source file:com.android.demo.notepad3.Util.java

License:Open Source License

public static void deleteBucket() {
    String name = Constants.BUCKET_NAME.toLowerCase(Locale.US);
    List<S3ObjectSummary> objData = sS3Client.listObjects(name).getObjectSummaries();
    if (objData.size() > 0) {
        DeleteObjectsRequest emptyBucket = new DeleteObjectsRequest(name);
        List<KeyVersion> keyList = new ArrayList<KeyVersion>();
        for (S3ObjectSummary summary : objData) {
            keyList.add(new KeyVersion(summary.getKey()));
        }//from www .  ja v a 2 s  .  co  m
        emptyBucket.withKeys(keyList);
        sS3Client.deleteObjects(emptyBucket);
    }
    sS3Client.deleteBucket(name);
}

From source file:com.dss.sframework.tools.amazon.AmazonUtil.java

License:Open Source License

public static void deleteBucket() {
    String name = ConstantAmazon.BUCKET_NAME.toLowerCase(Locale.US);
    List<S3ObjectSummary> objData = sS3Client.listObjects(name).getObjectSummaries();
    if (objData.size() > 0) {
        DeleteObjectsRequest emptyBucket = new DeleteObjectsRequest(name);
        List<KeyVersion> keyList = new ArrayList<>();
        for (S3ObjectSummary summary : objData) {
            keyList.add(new KeyVersion(summary.getKey()));
        }/*from   w ww. ja  va 2 s  . co  m*/
        emptyBucket.withKeys(keyList);
        sS3Client.deleteObjects(emptyBucket);
    }
    sS3Client.deleteBucket(name);
}

From source file:com.jktheunique.aws.util.S3Util.java

License:Open Source License

public static void deleteBucket() {
    String name = Constants.S3_BUCKET_NAME.toLowerCase(Locale.US);
    List<S3ObjectSummary> objData = s3Client.listObjects(name).getObjectSummaries();
    if (objData.size() > 0) {
        DeleteObjectsRequest emptyBucket = new DeleteObjectsRequest(name);
        List<KeyVersion> keyList = new ArrayList<KeyVersion>();
        for (S3ObjectSummary summary : objData) {
            keyList.add(new KeyVersion(summary.getKey()));
        }/*from w  w w . j a  v  a  2s.c  o m*/
        emptyBucket.withKeys(keyList);
        s3Client.deleteObjects(emptyBucket);
    }
    s3Client.deleteBucket(name);
}

From source file:com.liferay.portal.store.s3.S3Store.java

License:Open Source License

protected void deleteObjects(String prefix) {
    try {//from w w w .java 2 s .c o  m
        String[] keys = new String[_DELETE_MAX];

        List<S3ObjectSummary> s3ObjectSummaries = getS3ObjectSummaries(prefix);

        Iterator<S3ObjectSummary> iterator = s3ObjectSummaries.iterator();

        while (iterator.hasNext()) {
            DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(_bucketName);

            for (int i = 0; i < keys.length; i++) {
                if (iterator.hasNext()) {
                    S3ObjectSummary s3ObjectSummary = iterator.next();

                    keys[i] = s3ObjectSummary.getKey();
                } else {
                    keys = Arrays.copyOfRange(keys, 0, i);

                    break;
                }
            }

            deleteObjectsRequest.withKeys(keys);

            _amazonS3.deleteObjects(deleteObjectsRequest);
        }
    } catch (AmazonClientException ace) {
        throw transform(ace);
    }
}

From source file:jenkins.plugins.itemstorage.s3.S3Profile.java

License:Open Source License

public void delete(String bucketName, String pathPrefix) {
    ObjectListing listing = null;//w ww  .j av a 2  s .  com
    do {
        listing = listing == null ? helper.client().listObjects(bucketName, pathPrefix)
                : helper.client().listNextBatchOfObjects(listing);

        DeleteObjectsRequest req = new DeleteObjectsRequest(bucketName);

        List<DeleteObjectsRequest.KeyVersion> keys = new ArrayList<>(listing.getObjectSummaries().size());
        for (S3ObjectSummary summary : listing.getObjectSummaries()) {
            keys.add(new DeleteObjectsRequest.KeyVersion(summary.getKey()));
        }
        req.withKeys(keys);

        helper.client().deleteObjects(req);
    } while (listing.isTruncated());
}