/** * Performs an * {@link AmazonS3#abortMultipartUpload(AbortMultipartUploadRequest)} * operation for the given multi-part upload. */ void performAbortMultipartUpload() { if (multipartUploadId == null) { return; } try { AbortMultipartUploadRequest abortRequest = new AbortMultipartUploadRequest(origReq.getBucketName(), origReq.getKey(), multipartUploadId) .withRequesterPays(origReq.isRequesterPays()); s3.abortMultipartUpload(abortRequest); } catch (Exception e2) { log.info( "Unable to abort multipart upload, you may need to manually remove uploaded parts: " + e2.getMessage(), e2); } }
/** * Captures the state of the upload. */ private void captureUploadStateIfPossible() { if (origReq.getSSECustomerKey() == null) { persistableUpload = new PersistableUpload(origReq.getBucketName(), origReq.getKey(), origReq.getFile() .getAbsolutePath(), multipartUploadId, configuration.getMinimumUploadPartSize(), configuration.getMultipartUploadThreshold()); notifyPersistableTransferAvailability(); } }
public UploadPartRequestFactory(PutObjectRequest origReq, String uploadId, long optimalPartSize) { this.origReq = origReq; this.uploadId = uploadId; this.optimalPartSize = optimalPartSize; this.bucketName = origReq.getBucketName(); this.key = origReq.getKey(); this.file = TransferManagerUtils.getRequestFile(origReq); this.remainingBytes = TransferManagerUtils.getContentLength(origReq); this.sseCustomerKey = origReq.getSSECustomerKey(); this.totalNumberOfParts = (int) Math.ceil((double) this.remainingBytes / this.optimalPartSize); if (origReq.getInputStream() != null) { wrappedStream = ReleasableInputStream.wrap(origReq.getInputStream()); } }
private Map<Integer, PartSummary> identifyExistingPartsForResume( String uploadId) { Map<Integer, PartSummary> partNumbers = new HashMap<Integer, PartSummary>(); if (uploadId == null) { return partNumbers; } int partNumber = 0; while (true) { PartListing parts = s3.listParts(new ListPartsRequest( origReq.getBucketName(), origReq.getKey(), uploadId) .withPartNumberMarker(partNumber) .withRequesterPays(origReq.isRequesterPays())); for (PartSummary partSummary : parts.getParts()) { partNumbers.put(partSummary.getPartNumber(), partSummary); } if (!parts.isTruncated()) { return partNumbers; } partNumber = parts.getNextPartNumberMarker(); } }
/** * Uploads the given request in a single chunk and returns the result. */ private UploadResult uploadInOneChunk() { PutObjectResult putObjectResult = s3.putObject(origReq); UploadResult uploadResult = new UploadResult(); uploadResult.setBucketName(origReq.getBucketName()); uploadResult.setKey(origReq.getKey()); uploadResult.setETag(putObjectResult.getETag()); uploadResult.setVersionId(putObjectResult.getVersionId()); return uploadResult; }
origReq.getBucketName(), origReq.getKey(), multipartUploadId, partETags) .withRequesterPays(origReq.isRequesterPays())
@Override public UploadResult call() throws Exception { CompleteMultipartUploadResult res; try { CompleteMultipartUploadRequest req = new CompleteMultipartUploadRequest( origReq.getBucketName(), origReq.getKey(), uploadId, collectPartETags()) .withRequesterPays(origReq.isRequesterPays()) .withGeneralProgressListener(origReq.getGeneralProgressListener()) .withRequestMetricCollector(origReq.getRequestMetricCollector()) ; res = s3.completeMultipartUpload(req); } catch (Exception e) { monitor.uploadFailure(); publishProgress(listener, ProgressEventType.TRANSFER_FAILED_EVENT); throw e; } UploadResult uploadResult = new UploadResult(); uploadResult.setBucketName(origReq .getBucketName()); uploadResult.setKey(origReq.getKey()); uploadResult.setETag(res.getETag()); uploadResult.setVersionId(res.getVersionId()); monitor.uploadComplete(); return uploadResult; }
if (isUsingEncryption && origReq instanceof EncryptedPutObjectRequest) { req = new EncryptedInitiateMultipartUploadRequest( origReq.getBucketName(), origReq.getKey()).withCannedACL( origReq.getCannedAcl()).withObjectMetadata(origReq.getMetadata()); ((EncryptedInitiateMultipartUploadRequest) req) .setMaterialsDescription(((EncryptedPutObjectRequest) origReq).getMaterialsDescription()); } else { req = new InitiateMultipartUploadRequest(origReq.getBucketName(), origReq.getKey()) .withCannedACL(origReq.getCannedAcl()) .withObjectMetadata(origReq.getMetadata());
String description = "Uploading to " + putObjectRequest.getBucketName() + "/" + putObjectRequest.getKey(); TransferProgress transferProgress = new TransferProgress();
final File file = putObjectRequest.getFile(); final InputStream isOrig = putObjectRequest.getInputStream(); final String bucketName = putObjectRequest.getBucketName(); final String key = putObjectRequest.getKey(); ObjectMetadata metadata = putObjectRequest.getMetadata();
public static Upload putObject(final ClientOptions clientOptions, final PutObjectRequest req) { LOGGER.debug(format("Sending stream as S3 object %1$s in bucket %2$s using PutObjectRequest", req.getKey(), req.getBucketName())); return getTransferManager(clientOptions).upload(req); }
/** * Performs an * {@link AmazonS3#abortMultipartUpload(AbortMultipartUploadRequest)} * operation for the given multi-part upload. */ void performAbortMultipartUpload() { try { if (multipartUploadId != null) s3.abortMultipartUpload(new AbortMultipartUploadRequest( putObjectRequest.getBucketName(), putObjectRequest .getKey(), multipartUploadId)); } catch (Exception e2) { log.info( "Unable to abort multipart upload, you may need to manually remove uploaded parts: " + e2.getMessage(), e2); } }
public UploadPartRequestFactory(PutObjectRequest putObjectRequest, String uploadId, long optimalPartSize) { this.putObjectRequest = putObjectRequest; this.uploadId = uploadId; this.optimalPartSize = optimalPartSize; this.bucketName = putObjectRequest.getBucketName(); this.key = putObjectRequest.getKey(); this.file = TransferManagerUtils.getRequestFile(putObjectRequest); this.remainingBytes = TransferManagerUtils.getContentLength(putObjectRequest); this.sseCustomerKey = putObjectRequest.getSSECustomerKey(); }
/** * Captures the state of the upload. */ private void captureUploadStateIfPossible() { if (putObjectRequest.getSSECustomerKey() == null) { persistableUpload = new PersistableUpload(putObjectRequest.getBucketName(), putObjectRequest.getKey(), putObjectRequest.getFile() .getAbsolutePath(), multipartUploadId, configuration.getMinimumUploadPartSize(), configuration.getMultipartUploadThreshold()); notifyPersistableTransferAvailability(); } }
private Map<Integer, PartSummary> identifyExistingPartsForResume( String uploadId) { Map<Integer, PartSummary> partNumbers = new HashMap<Integer, PartSummary>(); if (uploadId == null) { return partNumbers; } int partNumber = 0; while (true) { PartListing parts = s3.listParts(new ListPartsRequest( putObjectRequest.getBucketName(), putObjectRequest.getKey(), uploadId) .withPartNumberMarker(partNumber)); for (PartSummary partSummary : parts.getParts()) { partNumbers.put(partSummary.getPartNumber(), partSummary); } if (!parts.isTruncated()) { return partNumbers; } partNumber = parts.getNextPartNumberMarker(); } }
.getBucketName(), putObjectRequest.getKey(), multipartUploadId, partETags));
/** * Uploads the given request in a single chunk and returns the result. */ private UploadResult uploadInOneChunk() { PutObjectResult putObjectResult = s3.putObject(putObjectRequest); UploadResult uploadResult = new UploadResult(); uploadResult.setBucketName(putObjectRequest.getBucketName()); uploadResult.setKey(putObjectRequest.getKey()); uploadResult.setETag(putObjectResult.getETag()); uploadResult.setVersionId(putObjectResult.getVersionId()); return uploadResult; }
/** * Creates a multipart upload id for the upload request. * * @param putObjectRequest An PutObjectRequest object for the whole upload * @return A multipart upload id */ private String initiateMultipartUpload(PutObjectRequest putObjectRequest) { InitiateMultipartUploadRequest initiateMultipartUploadRequest = new InitiateMultipartUploadRequest( putObjectRequest.getBucketName(), putObjectRequest.getKey()) .withCannedACL(putObjectRequest.getCannedAcl()) .withObjectMetadata(putObjectRequest.getMetadata()) .withSSEAwsKeyManagementParams( putObjectRequest.getSSEAwsKeyManagementParams()); TransferUtility .appendMultipartTransferServiceUserAgentString(initiateMultipartUploadRequest); final String uploadId = s3.initiateMultipartUpload(initiateMultipartUploadRequest).getUploadId(); return uploadId; }
/** * Completes the multipart upload and returns the result. */ private UploadResult completeMultipartUpload() { CompleteMultipartUploadResult completeMultipartUploadResult = s3 .completeMultipartUpload(new CompleteMultipartUploadRequest(putObjectRequest .getBucketName(), putObjectRequest.getKey(), uploadId, collectPartETags())); uploadComplete(); UploadResult uploadResult = new UploadResult(); uploadResult.setBucketName(completeMultipartUploadResult.getBucketName()); uploadResult.setKey(completeMultipartUploadResult.getKey()); uploadResult.setETag(completeMultipartUploadResult.getETag()); uploadResult.setVersionId(completeMultipartUploadResult.getVersionId()); return uploadResult; }
if (isUsingEncryption && putObjectRequest instanceof EncryptedPutObjectRequest) { initiateMultipartUploadRequest = new EncryptedInitiateMultipartUploadRequest( putObjectRequest.getBucketName(), putObjectRequest.getKey()).withCannedACL( putObjectRequest.getCannedAcl()).withObjectMetadata( putObjectRequest.getMetadata()); } else { initiateMultipartUploadRequest = new InitiateMultipartUploadRequest( putObjectRequest.getBucketName(), putObjectRequest.getKey()) .withCannedACL(putObjectRequest.getCannedAcl()) .withObjectMetadata(putObjectRequest.getMetadata());