Example usage for com.amazonaws.services.s3 AmazonS3Client listMultipartUploads

List of usage examples for com.amazonaws.services.s3 AmazonS3Client listMultipartUploads

Introduction

In this page you can find the example usage for com.amazonaws.services.s3 AmazonS3Client listMultipartUploads.

Prototype

@Override
    public MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest listMultipartUploadsRequest)
            throws SdkClientException, AmazonServiceException 

Source Link

Usage

From source file:baldrickv.s3streamingtool.S3CleanupMultipart.java

License:Open Source License

public static void cleanup(S3StreamConfig config) throws Exception {

    AmazonS3Client s3 = config.getS3Client();
    String bucket = config.getS3Bucket();

    ListMultipartUploadsRequest list_req = new ListMultipartUploadsRequest(bucket);

    List<MultipartUpload> list = s3.listMultipartUploads(list_req).getMultipartUploads();

    Scanner scan = new Scanner(System.in);

    for (MultipartUpload mu : list) {
        System.out.println("-----------------------");
        System.out.println("  bucket: " + bucket);
        System.out.println("  key: " + mu.getKey());
        System.out.println("  uploadId: " + mu.getUploadId());
        System.out.println("  initiated at: " + mu.getInitiated());
        System.out.println("  initiated by: " + mu.getInitiator());
        System.out.println("-----------------------");

        System.out.print("Abort this upload [y|N]? ");
        String result = scan.nextLine().trim().toLowerCase();
        if (result.equals("y")) {
            AbortMultipartUploadRequest abort = new AbortMultipartUploadRequest(bucket, mu.getKey(),
                    mu.getUploadId());//w w w .j  a v  a 2  s .c om

            s3.abortMultipartUpload(abort);
            System.out.println("Aborted upload");
        } else {
            System.out.println("Leaving this one alone");

        }

    }

}

From source file:com.eucalyptus.objectstorage.providers.s3.S3ProviderClient.java

License:Open Source License

@Override
public ListMultipartUploadsResponseType listMultipartUploads(ListMultipartUploadsType request)
        throws S3Exception {
    ListMultipartUploadsResponseType reply = request.getReply();
    User requestUser = getRequestUser(request);
    OsgInternalS3Client internalS3Client = null;

    String bucketName = request.getBucket();
    ListMultipartUploadsRequest listMultipartUploadsRequest = new ListMultipartUploadsRequest(bucketName);
    listMultipartUploadsRequest.setMaxUploads(request.getMaxUploads());
    listMultipartUploadsRequest.setKeyMarker(request.getKeyMarker());
    listMultipartUploadsRequest.setDelimiter(request.getDelimiter());
    listMultipartUploadsRequest.setPrefix(request.getPrefix());
    listMultipartUploadsRequest.setUploadIdMarker(request.getUploadIdMarker());
    try {//from  w  w  w .  j  a  v a2 s.c  om
        internalS3Client = getS3Client(requestUser);
        AmazonS3Client s3Client = internalS3Client.getS3Client();

        MultipartUploadListing listing = s3Client.listMultipartUploads(listMultipartUploadsRequest);
        reply.setBucket(listing.getBucketName());
        reply.setKeyMarker(listing.getKeyMarker());
        reply.setUploadIdMarker(listing.getUploadIdMarker());
        reply.setNextKeyMarker(listing.getNextKeyMarker());
        reply.setNextUploadIdMarker(listing.getNextUploadIdMarker());
        reply.setMaxUploads(listing.getMaxUploads());
        reply.setIsTruncated(listing.isTruncated());
        reply.setPrefix(listing.getPrefix());
        reply.setDelimiter(listing.getDelimiter());

        List<String> commonPrefixes = listing.getCommonPrefixes();
        List<MultipartUpload> multipartUploads = listing.getMultipartUploads();

        List<com.eucalyptus.storage.msgs.s3.Upload> uploads = reply.getUploads();
        List<CommonPrefixesEntry> prefixes = reply.getCommonPrefixes();

        for (MultipartUpload multipartUpload : multipartUploads) {
            uploads.add(new com.eucalyptus.storage.msgs.s3.Upload(multipartUpload.getKey(),
                    multipartUpload.getUploadId(),
                    new Initiator(multipartUpload.getInitiator().getId(),
                            multipartUpload.getInitiator().getDisplayName()),
                    new CanonicalUser(multipartUpload.getOwner().getId(),
                            multipartUpload.getOwner().getDisplayName()),
                    multipartUpload.getStorageClass(), multipartUpload.getInitiated()));
        }
        for (String commonPrefix : commonPrefixes) {
            prefixes.add(new CommonPrefixesEntry(commonPrefix));
        }
        return reply;
    } catch (AmazonServiceException e) {
        LOG.debug("Error from backend", e);
        throw S3ExceptionMapper.fromAWSJavaSDK(e);
    }
}

From source file:org.apache.nifi.processors.aws.s3.PutS3Object.java

License:Apache License

protected boolean localUploadExistsInS3(final AmazonS3Client s3, final String bucket,
        final MultipartState localState) {
    ListMultipartUploadsRequest listRequest = new ListMultipartUploadsRequest(bucket);
    MultipartUploadListing listing = s3.listMultipartUploads(listRequest);
    for (MultipartUpload upload : listing.getMultipartUploads()) {
        if (upload.getUploadId().equals(localState.getUploadId())) {
            return true;
        }//from   www.  j a va 2  s  . c  o  m
    }
    return false;
}

From source file:org.apache.nifi.processors.aws.s3.PutS3Object.java

License:Apache License

protected MultipartUploadListing getS3AgeoffListAndAgeoffLocalState(final ProcessContext context,
        final AmazonS3Client s3, final long now) {
    final long ageoff_interval = context.getProperty(MULTIPART_S3_AGEOFF_INTERVAL)
            .asTimePeriod(TimeUnit.MILLISECONDS);
    final String bucket = context.getProperty(BUCKET).evaluateAttributeExpressions().getValue();
    final Long maxAge = context.getProperty(MULTIPART_S3_MAX_AGE).asTimePeriod(TimeUnit.MILLISECONDS);
    final long ageCutoff = now - maxAge;

    final List<MultipartUpload> ageoffList = new ArrayList<>();
    if ((lastS3AgeOff.get() < now - ageoff_interval) && s3BucketLock.tryLock()) {
        try {/*from  ww  w .  j a v a2 s. co m*/

            ListMultipartUploadsRequest listRequest = new ListMultipartUploadsRequest(bucket);
            MultipartUploadListing listing = s3.listMultipartUploads(listRequest);
            for (MultipartUpload upload : listing.getMultipartUploads()) {
                long uploadTime = upload.getInitiated().getTime();
                if (uploadTime < ageCutoff) {
                    ageoffList.add(upload);
                }
            }

            // ageoff any local state
            ageoffLocalState(ageCutoff);
            lastS3AgeOff.set(System.currentTimeMillis());
        } catch (AmazonClientException e) {
            if (e instanceof AmazonS3Exception && ((AmazonS3Exception) e).getStatusCode() == 403
                    && ((AmazonS3Exception) e).getErrorCode().equals("AccessDenied")) {
                getLogger().warn("AccessDenied checking S3 Multipart Upload list for {}: {} "
                        + "** The configured user does not have the s3:ListBucketMultipartUploads permission "
                        + "for this bucket, S3 ageoff cannot occur without this permission.  Next ageoff check "
                        + "time is being advanced by interval to prevent checking on every upload **",
                        new Object[] { bucket, e.getMessage() });
                lastS3AgeOff.set(System.currentTimeMillis());
            } else {
                getLogger().error("Error checking S3 Multipart Upload list for {}: {}",
                        new Object[] { bucket, e.getMessage() });
            }
        } finally {
            s3BucketLock.unlock();
        }
    }
    MultipartUploadListing result = new MultipartUploadListing();
    result.setBucketName(bucket);
    result.setMultipartUploads(ageoffList);
    return result;
}

From source file:org.finra.dm.dao.impl.S3OperationsImpl.java

License:Apache License

/**
 * {@inheritDoc}//from  ww w.  j a  v  a  2  s .co  m
 */
@Override
public MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest listMultipartUploadsRequest,
        AmazonS3Client s3Client) {
    return s3Client.listMultipartUploads(listMultipartUploadsRequest);
}