com.amazonaws.event.ProgressEventType Java Examples
The following examples show how to use
com.amazonaws.event.ProgressEventType.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PrestoS3FileSystem.java From presto with Apache License 2.0 | 6 votes |
private ProgressListener createProgressListener(Transfer transfer) { return new ProgressListener() { private ProgressEventType previousType; private double previousTransferred; @Override public synchronized void progressChanged(ProgressEvent progressEvent) { ProgressEventType eventType = progressEvent.getEventType(); if (previousType != eventType) { log.debug("Upload progress event (%s/%s): %s", bucket, key, eventType); previousType = eventType; } double transferred = transfer.getProgress().getPercentTransferred(); if (transferred >= (previousTransferred + 10.0)) { log.debug("Upload percentage (%s/%s): %.0f%%", bucket, key, transferred); previousTransferred = transferred; } } }; }
Example #2
Source File: S3Backuper.java From cassandra-backup with Apache License 2.0 | 6 votes |
@Override public void progressChanged(final ProgressEvent progressEvent) { final ProgressEventType progressEventType = progressEvent.getEventType(); if (progressEventType == ProgressEventType.TRANSFER_PART_COMPLETED_EVENT) { logger.debug("Successfully uploaded part for {}.", s3RemoteObjectReference.canonicalPath); } if (progressEventType == ProgressEventType.TRANSFER_PART_FAILED_EVENT) { logger.debug("Failed to upload part for {}.", s3RemoteObjectReference.canonicalPath); } if (progressEventType == TRANSFER_FAILED_EVENT) { logger.debug("Failed to upload {}.", s3RemoteObjectReference.canonicalPath); } if (progressEventType == TRANSFER_COMPLETED_EVENT) { logger.debug("Successfully uploaded {}.", s3RemoteObjectReference.canonicalPath); } }
Example #3
Source File: AmazonS3SinkMockTests.java From spring-cloud-stream-app-starters with Apache License 2.0 | 6 votes |
@Bean public S3ProgressListener s3ProgressListener() { return new S3ProgressListener() { @Override public void onPersistableTransfer(PersistableTransfer persistableTransfer) { } @Override public void progressChanged(ProgressEvent progressEvent) { if (ProgressEventType.TRANSFER_COMPLETED_EVENT.equals(progressEvent.getEventType())) { transferCompletedLatch().countDown(); } } }; }
Example #4
Source File: S3DownloadStep.java From pipeline-aws-plugin with Apache License 2.0 | 5 votes |
@Override public Void invoke(File localFile, VirtualChannel channel) throws IOException, InterruptedException { TransferManager mgr = TransferManagerBuilder.standard() .withS3Client(AWSClientFactory.create(this.amazonS3ClientOptions.createAmazonS3ClientBuilder(), this.envVars)) .build(); if (this.path == null || this.path.isEmpty() || this.path.endsWith("/")) { try { final MultipleFileDownload fileDownload = mgr.downloadDirectory(this.bucket, this.path, localFile); fileDownload.waitForCompletion(); RemoteDownloader.this.taskListener.getLogger().println("Finished: " + fileDownload.getDescription()); } finally { mgr.shutdownNow(); } return null; } else { try { final Download download = mgr.download(this.bucket, this.path, localFile); download.addProgressListener((ProgressListener) progressEvent -> { if (progressEvent.getEventType() == ProgressEventType.TRANSFER_COMPLETED_EVENT) { RemoteDownloader.this.taskListener.getLogger().println("Finished: " + download.getDescription()); } }); download.waitForCompletion(); } finally { mgr.shutdownNow(); } return null; } }
Example #5
Source File: AmazonS3Storage.java From thunderbit with GNU Affero General Public License v3.0 | 5 votes |
@Override public F.Promise<Void> store(Path path, String key, String name) { Promise<Void> promise = Futures.promise(); TransferManager transferManager = new TransferManager(credentials); try { Upload upload = transferManager.upload(bucketName, key, path.toFile()); upload.addProgressListener((ProgressListener) progressEvent -> { if (progressEvent.getEventType().isTransferEvent()) { if (progressEvent.getEventType().equals(ProgressEventType.TRANSFER_COMPLETED_EVENT)) { transferManager.shutdownNow(); promise.success(null); } else if (progressEvent.getEventType().equals(ProgressEventType.TRANSFER_FAILED_EVENT)) { transferManager.shutdownNow(); logger.error(progressEvent.toString()); promise.failure(new Exception(progressEvent.toString())); } } }); } catch (AmazonServiceException ase) { logAmazonServiceException (ase); } catch (AmazonClientException ace) { logAmazonClientException(ace); } return F.Promise.wrap(promise.future()); }
Example #6
Source File: AmazonS3Storage.java From thunderbit with GNU Affero General Public License v3.0 | 5 votes |
@Override public F.Promise<Void> delete(String key, String name) { Promise<Void> promise = Futures.promise(); AmazonS3 amazonS3 = new AmazonS3Client(credentials); DeleteObjectRequest request = new DeleteObjectRequest(bucketName, key); request.withGeneralProgressListener(progressEvent -> { if (progressEvent.getEventType().isTransferEvent()) { if (progressEvent.getEventType().equals(ProgressEventType.TRANSFER_COMPLETED_EVENT)) { promise.success(null); } else if (progressEvent.getEventType().equals(ProgressEventType.TRANSFER_FAILED_EVENT)) { logger.error(progressEvent.toString()); promise.failure(new Exception(progressEvent.toString())); } } }); try { amazonS3.deleteObject(request); } catch (AmazonServiceException ase) { logAmazonServiceException (ase); } catch (AmazonClientException ace) { logAmazonClientException(ace); } return F.Promise.wrap(promise.future()); }
Example #7
Source File: AwsS3Storage.java From ecs-sync with Apache License 2.0 | 5 votes |
@Override public void progressChanged(com.amazonaws.event.ProgressEvent progressEvent) { if (progressEvent.getEventType() == ProgressEventType.REQUEST_BYTE_TRANSFER_EVENT) { if (sourceReadWindow != null) sourceReadWindow.increment(progressEvent.getBytesTransferred()); if (options.isMonitorPerformance()) getWriteWindow().increment(progressEvent.getBytesTransferred()); synchronized (object) { // these events will include XML payload for MPU (no way to differentiate) // do not set bytesRead to more then the object size object.setBytesRead(object.getBytesRead() + progressEvent.getBytesTransferred()); if (object.getBytesRead() > object.getMetadata().getContentLength()) object.setBytesRead(object.getMetadata().getContentLength()); } } }
Example #8
Source File: S3Restorer.java From cassandra-backup with Apache License 2.0 | 4 votes |
@Override public void progressChanged(final ProgressEvent progressEvent) { if (progressEvent.getEventType() == ProgressEventType.TRANSFER_COMPLETED_EVENT) { logger.debug("Successfully downloaded {}.", objectReference.canonicalPath); } }
Example #9
Source File: S3CopyStep.java From pipeline-aws-plugin with Apache License 2.0 | 4 votes |
@Override public String run() throws Exception { final String fromBucket = this.step.getFromBucket(); final String toBucket = this.step.getToBucket(); final String fromPath = this.step.getFromPath(); final String toPath = this.step.getToPath(); final String kmsId = this.step.getKmsId(); final Map<String, String> metadatas = new HashMap<>(); final CannedAccessControlList acl = this.step.getAcl(); final String cacheControl = this.step.getCacheControl(); final String contentType = this.step.getContentType(); final String sseAlgorithm = this.step.getSseAlgorithm(); final S3ClientOptions s3ClientOptions = this.step.createS3ClientOptions(); final EnvVars envVars = this.getContext().get(EnvVars.class); if (this.step.getMetadatas() != null && this.step.getMetadatas().length != 0) { for (String metadata : this.step.getMetadatas()) { if (metadata.split(":").length == 2) { metadatas.put(metadata.split(":")[0], metadata.split(":")[1]); } } } Preconditions.checkArgument(fromBucket != null && !fromBucket.isEmpty(), "From bucket must not be null or empty"); Preconditions.checkArgument(fromPath != null && !fromPath.isEmpty(), "From path must not be null or empty"); Preconditions.checkArgument(toBucket != null && !toBucket.isEmpty(), "To bucket must not be null or empty"); Preconditions.checkArgument(toPath != null && !toPath.isEmpty(), "To path must not be null or empty"); TaskListener listener = Execution.this.getContext().get(TaskListener.class); listener.getLogger().format("Copying s3://%s/%s to s3://%s/%s%n", fromBucket, fromPath, toBucket, toPath); CopyObjectRequest request = new CopyObjectRequest(fromBucket, fromPath, toBucket, toPath); // Add metadata if (metadatas.size() > 0 || (cacheControl != null && !cacheControl.isEmpty()) || (contentType != null && !contentType.isEmpty()) || (sseAlgorithm != null && !sseAlgorithm.isEmpty())) { ObjectMetadata metas = new ObjectMetadata(); if (metadatas.size() > 0) { metas.setUserMetadata(metadatas); } if (cacheControl != null && !cacheControl.isEmpty()) { metas.setCacheControl(cacheControl); } if (contentType != null && !contentType.isEmpty()) { metas.setContentType(contentType); } if (sseAlgorithm != null && !sseAlgorithm.isEmpty()) { metas.setSSEAlgorithm(sseAlgorithm); } request.withNewObjectMetadata(metas); } // Add acl if (acl != null) { request.withCannedAccessControlList(acl); } // Add kms if (kmsId != null && !kmsId.isEmpty()) { listener.getLogger().format("Using KMS: %s%n", kmsId); request.withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams(kmsId)); } TransferManager mgr = TransferManagerBuilder.standard() .withS3Client(AWSClientFactory.create(s3ClientOptions.createAmazonS3ClientBuilder(), envVars)) .build(); try { final Copy copy = mgr.copy(request); copy.addProgressListener((ProgressListener) progressEvent -> { if (progressEvent.getEventType() == ProgressEventType.TRANSFER_COMPLETED_EVENT) { listener.getLogger().println("Finished: " + copy.getDescription()); } }); copy.waitForCompletion(); } finally{ mgr.shutdownNow(); } listener.getLogger().println("Copy complete"); return String.format("s3://%s/%s", toBucket, toPath); }
Example #10
Source File: S3UploadStep.java From pipeline-aws-plugin with Apache License 2.0 | 4 votes |
@Override public Void invoke(File localFile, VirtualChannel channel) throws IOException, InterruptedException { TransferManager mgr = TransferManagerBuilder.standard() .withS3Client(AWSClientFactory.create(this.amazonS3ClientOptions.createAmazonS3ClientBuilder(), this.envVars)) .build(); final MultipleFileUpload fileUpload; ObjectMetadataProvider metadatasProvider = (file, meta) -> { if (meta != null) { if (RemoteListUploader.this.metadatas != null && RemoteListUploader.this.metadatas.size() > 0) { meta.setUserMetadata(RemoteListUploader.this.metadatas); } if (RemoteListUploader.this.acl != null) { meta.setHeader(Headers.S3_CANNED_ACL, RemoteListUploader.this.acl); } if (RemoteListUploader.this.cacheControl != null && !RemoteListUploader.this.cacheControl.isEmpty()) { meta.setCacheControl(RemoteListUploader.this.cacheControl); } if (RemoteListUploader.this.contentEncoding != null && !RemoteListUploader.this.contentEncoding.isEmpty()) { meta.setContentEncoding(RemoteListUploader.this.contentEncoding); } if (RemoteListUploader.this.contentType != null && !RemoteListUploader.this.contentType.isEmpty()) { meta.setContentType(RemoteListUploader.this.contentType); } if (RemoteListUploader.this.sseAlgorithm != null && !RemoteListUploader.this.sseAlgorithm.isEmpty()) { meta.setSSEAlgorithm(RemoteListUploader.this.sseAlgorithm); } if (RemoteListUploader.this.kmsId != null && !RemoteListUploader.this.kmsId.isEmpty()) { final SSEAwsKeyManagementParams sseAwsKeyManagementParams = new SSEAwsKeyManagementParams(RemoteListUploader.this.kmsId); meta.setSSEAlgorithm(sseAwsKeyManagementParams.getAwsKmsKeyId()); meta.setHeader( Headers.SERVER_SIDE_ENCRYPTION_AWS_KMS_KEYID, sseAwsKeyManagementParams.getAwsKmsKeyId() ); } } }; ObjectTaggingProvider objectTaggingProvider =(uploadContext) -> { List<Tag> tagList = new ArrayList<Tag>(); //add tags if(tags != null){ for (Map.Entry<String, String> entry : tags.entrySet()) { Tag tag = new Tag(entry.getKey(), entry.getValue()); tagList.add(tag); } } return new ObjectTagging(tagList); }; try { fileUpload = mgr.uploadFileList(this.bucket, this.path, localFile, this.fileList, metadatasProvider, objectTaggingProvider); for (final Upload upload : fileUpload.getSubTransfers()) { upload.addProgressListener((ProgressListener) progressEvent -> { if (progressEvent.getEventType() == ProgressEventType.TRANSFER_COMPLETED_EVENT) { RemoteListUploader.this.taskListener.getLogger().println("Finished: " + upload.getDescription()); } }); } fileUpload.waitForCompletion(); } finally { mgr.shutdownNow(); } return null; }
Example #11
Source File: AmazonS3SinkMockTests.java From spring-cloud-stream-app-starters with Apache License 2.0 | 4 votes |
@Test @Override public void test() throws Exception { AmazonS3 amazonS3Client = TestUtils.getPropertyValue(this.s3MessageHandler, "transferManager.s3", AmazonS3.class); File file = this.temporaryFolder.newFile("foo.mp3"); Message<?> message = MessageBuilder.withPayload(file) .build(); this.channels.input().send(message); ArgumentCaptor<PutObjectRequest> putObjectRequestArgumentCaptor = ArgumentCaptor.forClass(PutObjectRequest.class); verify(amazonS3Client, atLeastOnce()).putObject(putObjectRequestArgumentCaptor.capture()); PutObjectRequest putObjectRequest = putObjectRequestArgumentCaptor.getValue(); assertThat(putObjectRequest.getBucketName(), equalTo(S3_BUCKET)); assertThat(putObjectRequest.getKey(), equalTo("foo.mp3")); assertNotNull(putObjectRequest.getFile()); assertNull(putObjectRequest.getInputStream()); ObjectMetadata metadata = putObjectRequest.getMetadata(); assertThat(metadata.getContentMD5(), equalTo(Md5Utils.md5AsBase64(file))); assertThat(metadata.getContentLength(), equalTo(0L)); assertThat(metadata.getContentType(), equalTo("audio/mpeg")); ProgressListener listener = putObjectRequest.getGeneralProgressListener(); S3ProgressPublisher.publishProgress(listener, ProgressEventType.TRANSFER_COMPLETED_EVENT); assertTrue(this.transferCompletedLatch.await(10, TimeUnit.SECONDS)); assertTrue(this.aclLatch.await(10, TimeUnit.SECONDS)); ArgumentCaptor<SetObjectAclRequest> setObjectAclRequestArgumentCaptor = ArgumentCaptor.forClass(SetObjectAclRequest.class); verify(amazonS3Client).setObjectAcl(setObjectAclRequestArgumentCaptor.capture()); SetObjectAclRequest setObjectAclRequest = setObjectAclRequestArgumentCaptor.getValue(); assertThat(setObjectAclRequest.getBucketName(), equalTo(S3_BUCKET)); assertThat(setObjectAclRequest.getKey(), equalTo("foo.mp3")); assertNull(setObjectAclRequest.getAcl()); assertThat(setObjectAclRequest.getCannedAcl(), equalTo(CannedAccessControlList.PublicReadWrite)); }