List of usage examples for com.amazonaws.services.s3.transfer TransferManager copy
public Copy copy(final CopyObjectRequest copyObjectRequest)
Schedules a new transfer to copy data from one Amazon S3 location to another Amazon S3 location.
From source file:org.apache.hadoop.fs.s3a.S3AFileSystem.java
License:Apache License
private void copyFile(String srcKey, String dstKey) throws IOException { if (LOG.isDebugEnabled()) { LOG.debug("copyFile " + srcKey + " -> " + dstKey); }//from w w w . j a va 2s . c om TransferManagerConfiguration transferConfiguration = new TransferManagerConfiguration(); transferConfiguration.setMultipartCopyPartSize(partSize); TransferManager transfers = new TransferManager(s3); transfers.setConfiguration(transferConfiguration); ObjectMetadata srcom = s3.getObjectMetadata(bucket, srcKey); final ObjectMetadata dstom = srcom.clone(); if (StringUtils.isNotBlank(serverSideEncryptionAlgorithm)) { dstom.setServerSideEncryption(serverSideEncryptionAlgorithm); } CopyObjectRequest copyObjectRequest = new CopyObjectRequest(bucket, srcKey, bucket, dstKey); copyObjectRequest.setCannedAccessControlList(cannedACL); copyObjectRequest.setNewObjectMetadata(dstom); ProgressListener progressListener = new ProgressListener() { public void progressChanged(ProgressEvent progressEvent) { switch (progressEvent.getEventCode()) { case ProgressEvent.PART_COMPLETED_EVENT_CODE: statistics.incrementWriteOps(1); break; } } }; Copy copy = transfers.copy(copyObjectRequest); copy.addProgressListener(progressListener); try { copy.waitForCopyResult(); statistics.incrementWriteOps(1); } catch (InterruptedException e) { throw new IOException("Got interrupted, cancelling"); } finally { transfers.shutdownNow(false); } }
From source file:org.finra.dm.dao.impl.S3OperationsImpl.java
License:Apache License
/** * {@inheritDoc}/*ww w. j a va 2 s . com*/ */ @Override public Copy copyFile(CopyObjectRequest copyObjectRequest, TransferManager transferManager) { return transferManager.copy(copyObjectRequest); }
From source file:org.finra.herd.dao.impl.S3OperationsImpl.java
License:Apache License
@Override public Copy copyFile(CopyObjectRequest copyObjectRequest, TransferManager transferManager) { return transferManager.copy(copyObjectRequest); }