om.setContentType( mimeType ); PutObjectResult result = null; result = getS3Client().putObject( bucketName, uploadFileName, awsInputStream, om ); InitiateMultipartUploadResult initResponse = getS3Client().initiateMultipartUpload( initRequest ); .withPartSize(partSize) .withLastPart(isLastPart); partETags.add( getS3Client().uploadPart(uploadRequest).getPartETag() ); partNumber++;
/** * Sets the list of part numbers and ETags that identify the individual * parts of the multipart upload to complete based on the specified results * from part uploads. * * @param uploadPartResultsCollection * The list of results from the individual part uploads in the * multipart upload to complete. * * @return This updated CompleteMultipartUploadRequest object. */ public CompleteMultipartUploadRequest withPartETags(Collection<UploadPartResult> uploadPartResultsCollection) { for (UploadPartResult result : uploadPartResultsCollection) { this.partETags.add(new PartETag(result.getPartNumber(), result.getETag())); } return this; }
UploadPartResult result = new UploadPartResult(); result.setETag(etag); result.setPartNumber(partNumber); result.setSSEAlgorithm(metadata.getSSEAlgorithm()); result.setSSECustomerAlgorithm(metadata.getSSECustomerAlgorithm()); result.setSSECustomerKeyMd5(metadata.getSSECustomerKeyMd5()); result.setRequesterCharged(metadata.isRequesterCharged()); return result; } catch (Throwable t) {
initRequest.setStorageClass(maybeStorageClass.get()); InitiateMultipartUploadResult initResponse = s3Client.initiateMultipartUpload(initRequest); .withFile(file) .withPartSize(partSize); partETags.add(s3Client.uploadPart(uploadRequest).getPartETag()); filePosition += partSize; s3Client.completeMultipartUpload(completeRequest); } catch (Exception e) { s3Client.abortMultipartUpload(new AbortMultipartUploadRequest(bucketName, key, initResponse.getUploadId()));
ObjectMetadata omd = createObjectMetadata(); omd.setContentLength(partSize); PutObjectResult result = s3Client.putObject(new PutObjectRequest(bucketName, metaData.getKeyName(), bis, omd)); partETag = new PartETag(1, result.getETag()); } else { partETag = s3Client.uploadPart(uploadRequest).getPartETag(); } catch (Exception e) { throw new RuntimeException(e);
public PartETag call() throws Exception { if (calculateMd5) { request.withMD5Digest(computedMd5()); } PartETag partETag = s3.uploadPart(request).getPartETag(); return partETag; }
partETags.add(s3.uploadPart(uploadPartRequest).getPartETag()); .withRequestMetricCollector(origReq.getRequestMetricCollector()) CompleteMultipartUploadResult res = s3.completeMultipartUpload(req);
private Void uploadPart() throws AmazonClientException, BackupRestoreException { UploadPartRequest req = new UploadPartRequest(); req.setBucketName(dataPart.getBucketName()); req.setKey(dataPart.getS3key()); req.setUploadId(dataPart.getUploadID()); req.setPartNumber(dataPart.getPartNo()); req.setPartSize(dataPart.getPartData().length); req.setMd5Digest(SystemUtils.toBase64(dataPart.getMd5())); req.setInputStream(new ByteArrayInputStream(dataPart.getPartData())); UploadPartResult res = client.uploadPart(req); PartETag partETag = res.getPartETag(); if (!partETag.getETag().equals(SystemUtils.toHex(dataPart.getMd5()))) throw new BackupRestoreException( "Unable to match MD5 for part " + dataPart.getPartNo()); partETags.add(partETag); if (this.partsUploaded != null) this.partsUploaded.incrementAndGet(); return null; }
private List<PartETag> getMultiPartsUploadResults() throws ExecutionException, InterruptedException { List<PartETag> result = new ArrayList<>(this.partNumberCounter); for (int i = 0; i < this.partNumberCounter; i++) { Future<UploadPartResult> uploadPartResultFuture = this.completionService.take(); result.add(uploadPartResultFuture.get().getPartETag()); } return result; }
private PartETag uploadChunk(byte[] buffer, int bytesRead, InitiateMultipartUploadResult initResponse, int index) throws Exception { byte[] md5 = S3Utils.md5(buffer, bytesRead); UploadPartRequest request = new UploadPartRequest(); request.setBucketName(initResponse.getBucketName()); request.setKey(initResponse.getKey()); request.setUploadId(initResponse.getUploadId()); request.setPartNumber(index); request.setPartSize(bytesRead); request.setMd5Digest(S3Utils.toBase64(md5)); request.setInputStream(new ByteArrayInputStream(buffer, 0, bytesRead)); UploadPartResult response = s3Client.uploadPart(request); PartETag partETag = response.getPartETag(); if ( !response.getPartETag().getETag().equals(S3Utils.toHex(md5)) ) { throw new Exception("Unable to match MD5 for part " + index); } return partETag; }
currentState.getContentLength(), currentState.getPartETags().size(), Integer.toString(lastETag.getPartNumber()), lastETag.getETag()}); } else { getLogger().info("Resuming upload for flowfile='{}' bucket='{}' key='{}' " + try { UploadPartResult uploadPartResult = s3.uploadPart(uploadRequest); currentState.addPartETag(uploadPartResult.getPartETag()); currentState.setFilePosition(currentState.getFilePosition() + thisPartSize); try { uploadPartResult.getETag(), currentState.getUploadId()}); } catch (AmazonClientException e) { getLogger().info("Failure uploading part flowfile={} part={} bucket={} key={} " +
@Override public Boolean call() throws Exception { try { final UploadPartResult putPartResult = s3.uploadPart(request); dbUtil.updateState(request.getId(), TransferState.PART_COMPLETED); dbUtil.updateETag(request.getId(), putPartResult.getETag()); return true; } catch (final Exception e) {
@Override public PartHandle putPart(Path filePath, InputStream inputStream, int partNumber, UploadHandle uploadId, long lengthInBytes) throws IOException { byte[] uploadIdBytes = uploadId.toByteArray(); checkUploadId(uploadIdBytes); String key = s3a.pathToKey(filePath); final WriteOperationHelper writeHelper = s3a.getWriteOperationHelper(); String uploadIdString = new String(uploadIdBytes, 0, uploadIdBytes.length, Charsets.UTF_8); UploadPartRequest request = writeHelper.newUploadPartRequest(key, uploadIdString, partNumber, (int) lengthInBytes, inputStream, null, 0L); UploadPartResult result = writeHelper.uploadPart(request); String eTag = result.getETag(); return BBPartHandle.from( ByteBuffer.wrap( buildPartHandlePayload(eTag, lengthInBytes))); }
InitiateMultipartUploadResult initResponse = this.s3Service.initiateMultipartUpload(initRequest); partETags.add(this.s3Service.uploadPart(uploadRequest).getPartETag()); initResponse.getUploadId(), partETags); s3Service.completeMultipartUpload(compRequest); } catch (Exception e) { SDFSLogger.getLog().warn("unable to upload object " + req.getKey(), e);
do { try { partETag = mClient.uploadPart(request).getPartETag(); return partETag; } catch (AmazonClientException e) {
partETags.add(s3.uploadPart(uploadPartRequest).getPartETag()); .completeMultipartUpload(new CompleteMultipartUploadRequest(putObjectRequest .getBucketName(), putObjectRequest.getKey(), multipartUploadId, partETags));
private List<PartETag> getMultiPartsUploadResults() throws ExecutionException, InterruptedException { List<PartETag> result = new ArrayList<>(this.partNumberCounter); for (int i = 0; i < this.partNumberCounter; i++) { Future<UploadPartResult> uploadPartResultFuture = this.completionService.take(); result.add(uploadPartResultFuture.get().getPartETag()); } return result; }
@Override public PartETag call() throws Exception { // this is the queued upload operation LOG.debug("Uploading part {} for id '{}'", currentPartNumber, uploadId); // do the upload PartETag partETag; try { partETag = fs.uploadPart(request).getPartETag(); LOG.debug("Completed upload of {} to part {}", block, partETag.getETag()); } finally { // close the stream and block closeAll(LOG, uploadData, block); } return partETag; } });
currentState.getContentLength(), currentState.getPartETags().size(), Integer.toString(lastETag.getPartNumber()), lastETag.getETag()}); } else { getLogger().info("Resuming upload for flowfile='{}' bucket='{}' key='{}' " + try { UploadPartResult uploadPartResult = s3.uploadPart(uploadRequest); currentState.addPartETag(uploadPartResult.getPartETag()); currentState.setFilePosition(currentState.getFilePosition() + thisPartSize); try { uploadPartResult.getETag(), currentState.getUploadId()}); } catch (AmazonClientException e) { getLogger().info("Failure uploading part flowfile={} part={} bucket={} key={} " +
uploadPartTaskMetadata.state = TransferState.IN_PROGRESS; uploadPartRequest.setGeneralProgressListener(new UploadPartTaskProgressListener(uploadTaskProgressListener)); final UploadPartResult putPartResult = s3.uploadPart(uploadPartRequest); uploadPartTaskMetadata.state = TransferState.PART_COMPLETED; dbUtil.updateState(uploadPartRequest.getId(), TransferState.PART_COMPLETED); dbUtil.updateETag(uploadPartRequest.getId(), putPartResult.getETag()); return true; } catch (final Exception e) {