List of usage examples for com.amazonaws.services.s3.transfer TransferManager upload
public Upload upload(final String bucketName, final String key, final InputStream input, ObjectMetadata objectMetadata) throws AmazonServiceException, AmazonClientException
Schedules a new transfer to upload data to Amazon S3.
From source file:com.davidsoergel.s3napback.S3ops.java
License:Apache License
public static void upload(TransferManager tx, String bucket, String filename, int chunkSize) throws InterruptedException, IOException { //throw new NotImplementedException(); // break input stream into chunks // fully read each chunk into memory before sending, in order to know the size and the md5 // ** prepare the next chunk while the last is sending; need to deal with multithreading properly // ** 4 concurrent streams? InputStream in = new BufferedInputStream(System.in); int chunkNum = 0; while (in.available() > 0) { byte[] buf = new byte[chunkSize]; int bytesRead = in.read(buf); String md5 = new MD5(buf); // presume AWS does its own buffering, no need for BufferedInputStream (?) ObjectMetadata meta = new ObjectMetadata(); meta.setContentLength(bytesRead); meta.setContentMD5(md5);//from w ww . j a v a2 s.c om Upload myUpload = tx.upload(bucket, filename + ":" + chunkNum, new ByteArrayInputStream(buf), meta); UploadResult result = myUpload.waitForUploadResult(); while (myUpload.isDone() == false) { System.out.println("Transfer: " + myUpload.getDescription()); System.out.println(" - State: " + myUpload.getState()); System.out.println(" - Progress: " + myUpload.getProgress().getBytesTransfered()); // Do work while we wait for our upload to complete... Thread.sleep(500); } } }
From source file:com.hpe.caf.worker.datastore.s3.S3DataStore.java
License:Apache License
private String store(InputStream inputStream, String partialReference, Long length) throws DataStoreException { try {//from ww w .j a v a 2s. c o m String fullReference = partialReference + UUID.randomUUID().toString(); ObjectMetadata objectMetadata = new ObjectMetadata(); if (length != null) { objectMetadata.setContentLength(length); } TransferManager transferManager = new TransferManager(amazonS3Client); Upload upload = transferManager.upload(bucketName, fullReference, inputStream, objectMetadata); upload.waitForCompletion(); // amazonS3Client.putObject(bucketName, fullReference, inputStream, objectMetadata); transferManager.shutdownNow(false); return fullReference; } catch (Exception ex) { errors.incrementAndGet(); throw new DataStoreException("Could not store input stream.", ex); } }
From source file:n3phele.agent.repohandlers.S3Large.java
License:Open Source License
public Origin put(InputStream input, long length, String encoding) { Origin result = new Origin(source + "/" + root + "/" + key, 0, null, null); TransferManager tm = null; try {//w w w . j ava 2s .c o m tm = new TransferManager(this.credentials); tm.getAmazonS3Client().setEndpoint(source.toString()); objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(this.length = length); this.encoding = encoding; if (encoding != null) objectMetadata.setContentType(this.encoding); log.info("Output: " + source + "/" + root + "/" + key + " Content-Type: " + encoding + "length: " + length); Upload upload = tm.upload(root, key, input, objectMetadata); upload.waitForCompletion(); // PutObjectResult object = s3().putObject(root, key, input, objectMetadata); result.setLength(length); ObjectMetadata od = s3().getObjectMetadata(root, key); result.setModified(od.getLastModified()); } catch (AmazonServiceException e) { throw e; } catch (AmazonClientException e) { throw e; } catch (InterruptedException e) { throw new AmazonClientException(e.getMessage()); } finally { try { input.close(); } catch (IOException e) { } try { tm.shutdownNow(); } catch (Exception e) { } try { s3().shutdown(); } catch (Exception e) { } } return result; }
From source file:org.apache.streams.s3.S3OutputStreamWrapper.java
License:Apache License
private void addFile() throws Exception { InputStream is = new ByteArrayInputStream(this.outputStream.toByteArray()); int contentLength = outputStream.size(); TransferManager transferManager = new TransferManager(amazonS3Client); ObjectMetadata metadata = new ObjectMetadata(); metadata.setExpirationTime(DateTime.now().plusDays(365 * 3).toDate()); metadata.setContentLength(contentLength); metadata.addUserMetadata("writer", "org.apache.streams"); for (String s : metaData.keySet()) metadata.addUserMetadata(s, metaData.get(s)); String fileNameToWrite = path + fileName; Upload upload = transferManager.upload(bucketName, fileNameToWrite, is, metadata); try {/*from w w w .ja va2s . c o m*/ upload.waitForUploadResult(); is.close(); transferManager.shutdownNow(false); LOGGER.info("S3 File Close[{} kb] - {}", contentLength / 1024, path + fileName); } catch (Exception e) { // No Op } }
From source file:org.kuali.rice.kew.notes.service.impl.AmazonS3AttachmentServiceImpl.java
License:Educational Community License
@Override public void persistAttachedFileAndSetAttachmentBusinessObjectValue(Attachment attachment) throws Exception { if (attachment.getFileLoc() == null) { String s3Url = generateS3Url(attachment); attachment.setFileLoc(s3Url);//from w ww . ja va 2 s.c om } TransferManager manager = new TransferManager(this.amazonS3); ObjectMetadata metadata = new ObjectMetadata(); if (attachment.getMimeType() != null) { metadata.setContentType(attachment.getMimeType()); } if (attachment.getFileName() != null) { metadata.setContentDisposition( "attachment; filename=" + URLEncoder.encode(attachment.getFileName(), "UTF-8")); } Upload upload = manager.upload(this.bucketName, parseObjectKey(attachment.getFileLoc()), attachment.getAttachedObject(), metadata); upload.waitForCompletion(); }
From source file:org.kuali.rice.krad.service.impl.AmazonS3AttachmentServiceImpl.java
License:Educational Community License
/** * @see org.kuali.rice.krad.service.AttachmentService#createAttachment(GloballyUnique, * String, String, int, java.io.InputStream, String) *///from w w w . ja v a 2 s . c om @Override public Attachment createAttachment(GloballyUnique parent, String uploadedFileName, String mimeType, int fileSize, InputStream fileContents, String attachmentTypeCode) throws IOException { if (LOG.isDebugEnabled()) { LOG.debug("starting to create attachment for document: " + parent.getObjectId()); } if (parent == null) { throw new IllegalArgumentException("invalid (null or uninitialized) document"); } if (StringUtils.isBlank(uploadedFileName)) { throw new IllegalArgumentException("invalid (blank) fileName"); } if (StringUtils.isBlank(mimeType)) { throw new IllegalArgumentException("invalid (blank) mimeType"); } if (fileSize <= 0) { throw new IllegalArgumentException("invalid (non-positive) fileSize"); } if (fileContents == null) { throw new IllegalArgumentException("invalid (null) inputStream"); } String uniqueFileNameGuid = UUID.randomUUID().toString(); TransferManager manager = new TransferManager(this.amazonS3); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType(mimeType); metadata.setContentDisposition("attachment; filename=" + URLEncoder.encode(uploadedFileName, "UTF-8")); metadata.setContentLength(fileSize); Upload upload = manager.upload(this.bucketName, generateObjectKey(uniqueFileNameGuid), fileContents, metadata); try { upload.waitForCompletion(); } catch (InterruptedException e) { throw new IllegalStateException("Failed to upload file to s3", e); } // create DocumentAttachment Attachment attachment = new Attachment(); attachment.setAttachmentIdentifier(uniqueFileNameGuid); attachment.setAttachmentFileName(uploadedFileName); attachment.setAttachmentFileSize(new Long(fileSize)); attachment.setAttachmentMimeTypeCode(mimeType); attachment.setAttachmentTypeCode(attachmentTypeCode); if (LOG.isDebugEnabled()) { LOG.debug("finished creating attachment for document: " + parent.getObjectId()); } return attachment; }