Example usage for com.amazonaws.services.s3.model PutObjectRequest PutObjectRequest

List of usage examples for com.amazonaws.services.s3.model PutObjectRequest PutObjectRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model PutObjectRequest PutObjectRequest.

Prototype

public PutObjectRequest(String bucketName, String key, InputStream input, ObjectMetadata metadata) 

Source Link

Document

Constructs a new PutObjectRequest object to upload a stream of data to the specified bucket and key.

Usage

From source file:io.druid.storage.s3.ServerSideEncryptingAmazonS3.java

License:Apache License

public PutObjectResult putObject(String bucket, String key, InputStream in, ObjectMetadata objectMetadata) {
    return putObject(new PutObjectRequest(bucket, key, in, objectMetadata));
}

From source file:io.jeffrey.web.assemble.S3PutObjectTarget.java

@Override
public void upload(String key, String md5, String contentType, InputStream body, long contentLength)
        throws Exception {
    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(contentLength);
    metadata.setContentType(contentType);
    if (md5.equalsIgnoreCase(etags.get(key))) {
        System.out.println("skipping:" + key);
        return;//ww  w . j a  v  a  2 s  .  com
    }
    System.out.println("uploading:" + key);
    s3.putObject(new PutObjectRequest(bucket, key, body, metadata)
            .withCannedAcl(CannedAccessControlList.PublicRead));
}

From source file:io.konig.camel.aws.s3.DeleteObjectProducer.java

License:Apache License

public void processSingleOp(final Exchange exchange) throws Exception {

    ObjectMetadata objectMetadata = determineMetadata(exchange);

    File filePayload = null;//from  w  w w. j  a  va  2 s . c  o  m
    InputStream is = null;
    ByteArrayOutputStream baos = null;
    Object obj = exchange.getIn().getMandatoryBody();
    PutObjectRequest putObjectRequest = null;
    // Need to check if the message body is WrappedFile
    if (obj instanceof WrappedFile) {
        obj = ((WrappedFile<?>) obj).getFile();
    }
    if (obj instanceof File) {
        filePayload = (File) obj;
        is = new FileInputStream(filePayload);
    } else {
        is = exchange.getIn().getMandatoryBody(InputStream.class);
        baos = determineLengthInputStream(is);
        objectMetadata.setContentLength(baos.size());
        is = new ByteArrayInputStream(baos.toByteArray());
    }

    putObjectRequest = new PutObjectRequest(getConfiguration().getBucketName(), determineKey(exchange), is,
            objectMetadata);

    String storageClass = determineStorageClass(exchange);
    if (storageClass != null) {
        putObjectRequest.setStorageClass(storageClass);
    }

    String cannedAcl = exchange.getIn().getHeader(S3Constants.CANNED_ACL, String.class);
    if (cannedAcl != null) {
        CannedAccessControlList objectAcl = CannedAccessControlList.valueOf(cannedAcl);
        putObjectRequest.setCannedAcl(objectAcl);
    }

    AccessControlList acl = exchange.getIn().getHeader(S3Constants.ACL, AccessControlList.class);
    if (acl != null) {
        // note: if cannedacl and acl are both specified the last one will
        // be used. refer to
        // PutObjectRequest#setAccessControlList for more details
        putObjectRequest.setAccessControlList(acl);
    }

    if (getConfiguration().isUseAwsKMS()) {
        SSEAwsKeyManagementParams keyManagementParams;
        if (ObjectHelper.isNotEmpty(getConfiguration().getAwsKMSKeyId())) {
            keyManagementParams = new SSEAwsKeyManagementParams(getConfiguration().getAwsKMSKeyId());
        } else {
            keyManagementParams = new SSEAwsKeyManagementParams();
        }
        putObjectRequest.setSSEAwsKeyManagementParams(keyManagementParams);
    }

    LOG.trace("Put object [{}] from exchange [{}]...", putObjectRequest, exchange);

    PutObjectResult putObjectResult = getEndpoint().getS3Client().putObject(putObjectRequest);

    LOG.trace("Received result [{}]", putObjectResult);

    Message message = getMessageForResponse(exchange);
    message.setHeader(S3Constants.E_TAG, putObjectResult.getETag());
    if (putObjectResult.getVersionId() != null) {
        message.setHeader(S3Constants.VERSION_ID, putObjectResult.getVersionId());
    }

    if (getConfiguration().isDeleteAfterWrite() && filePayload != null) {
        // close streams
        IOHelper.close(putObjectRequest.getInputStream());
        IOHelper.close(is);
        FileUtil.deleteFile(filePayload);
    }
}

From source file:it.polimi.modaclouds.cpimlibrary.blobmng.AmazonBlobManager.java

License:Apache License

@Override
public void uploadBlob(byte[] file, String fileName) {
    System.out.println("uploadBlob " + fileName + ".");
    //System.out.println("Creating bucket " + bucketName + "\n");
    //s3.putObject(new PutObjectRequest(bucketName, name, input, metadata));
    ByteArrayInputStream is = new ByteArrayInputStream(file);
    ObjectMetadata omd = new ObjectMetadata();
    omd.setContentLength(file.length);// w  w w .  ja  v a  2s  .  c om
    PutObjectRequest pur = new PutObjectRequest(bucketName, fileName, is, omd);
    s3.putObject(pur);
}

From source file:jenkins.plugins.itemstorage.s3.Uploads.java

License:Open Source License

public void startUploading(TransferManager manager, File file, InputStream inputStream, Destination dest,
        ObjectMetadata metadata) throws AmazonServiceException {
    final PutObjectRequest request = new PutObjectRequest(dest.bucketName, dest.objectName, inputStream,
            metadata);//from  w w  w  .  jav  a  2 s.  c o m

    // Set the buffer size (ReadLimit) equal to the multipart upload size,
    // allowing us to resend data if the connection breaks.
    request.getRequestClientOptions().setReadLimit(MULTIPART_UPLOAD_THRESHOLD);
    manager.getConfiguration().setMultipartUploadThreshold((long) MULTIPART_UPLOAD_THRESHOLD);

    final Upload upload = manager.upload(request);
    startedUploads.put(file, upload);
    openedStreams.put(file, inputStream);
}

From source file:net.smartcosmos.plugin.service.aws.storage.AwsS3StorageService.java

License:Apache License

@Override
public StorageResponse store(StorageRequest request) throws IOException {

    final IFile requestFile = request.getFile();

    AmazonS3 s3 = new AmazonS3Client(credentials, new ClientConfiguration().withProtocol(Protocol.HTTPS));

    Map<String, String> fileMetadata = new HashMap<String, String>();

    fileMetadata.put("accountUrn", request.getUser().getAccount().getUrn());
    fileMetadata.put("userUrn", request.getUser().getUrn());
    fileMetadata.put("fileUrn", requestFile.getUrn());
    fileMetadata.put("entityReferenceType", requestFile.getEntityReferenceType().name());
    fileMetadata.put("referenceUrn", requestFile.getReferenceUrn());
    fileMetadata.put("recordedTimestamp", Long.toString(request.getFile().getTimestamp()));
    //            fileMetadata.put("mimeType", request.getVfsObject().getMimeType());

    ObjectMetadata metadata = new ObjectMetadata();
    if (request.getContentLength() > 0) {
        LOG.debug("Including content length : " + request.getContentLength());
        metadata.setContentLength(request.getContentLength());
    }/*ww  w. j  a  v a 2s.c  o  m*/
    //            metadata.setContentMD5(streamMD5);
    metadata.setUserMetadata(fileMetadata);

    try {
        LOG.trace("Bucket name: " + getBucketName());
        LOG.trace("File name: " + request.getFileName());
        LOG.trace("inputStream == null?  " + (request.getInputStream() == null));

        HashingInputStream his = new HashingInputStream(request.getInputStream(), "SHA-256");

        PutObjectResult putResult = s3
                .putObject(new PutObjectRequest(getBucketName(), request.getFileName(), his, metadata));

        String finalUrl = getUrl(request.getFileName());
        LOG.trace("File URL: " + finalUrl);

        requestFile.setUrl(getUrl(request.getFileName()));

        byte[] signature = his.getSignature();

        JSONObject jsonObject = HashUtil.signFile(requestFile, signature);
        LOG.info("File Signature\n\n{}\n\n", jsonObject.toString(3));

        return new StorageResponse(requestFile, finalUrl, jsonObject.toString(3));
    } catch (AmazonS3Exception e) {
        e.printStackTrace();
        throw e;
    } catch (JSONException | NoSuchAlgorithmException e) {
        e.printStackTrace();
        throw new IOException(e);
    }

}

From source file:net.solarnetwork.node.backup.s3.SdkS3Client.java

License:Open Source License

@Override
public S3ObjectReference putObject(String key, InputStream in, ObjectMetadata objectMetadata)
        throws IOException {
    AmazonS3 client = getClient();/*from  w w w  .j  ava 2s.  c o m*/
    try {
        PutObjectRequest req = new PutObjectRequest(bucketName, key, in, objectMetadata);
        client.putObject(req);
        return new S3ObjectReference(key, objectMetadata.getContentLength(), objectMetadata.getLastModified());
    } catch (AmazonServiceException e) {
        log.warn("AWS error: {}; HTTP code {}; AWS code {}; type {}; request ID {}", e.getMessage(),
                e.getStatusCode(), e.getErrorCode(), e.getErrorType(), e.getRequestId());
        throw new RemoteServiceException("Error putting S3 object at " + key, e);
    } catch (AmazonClientException e) {
        log.debug("Error communicating with AWS: {}", e.getMessage());
        throw new IOException("Error communicating with AWS", e);
    }
}

From source file:nl.kpmg.lcm.server.data.s3.S3FileAdapter.java

License:Apache License

@Override
public void write(InputStream stream, Long size) throws IOException {
    if (size == null || size <= 0) {
        throw new LcmExposableException("Error! Unable to transfer file to s3 storage with unknown size.");
    }//  w  w  w . j  a  v a  2  s . c  o m

    ObjectMetadata metadata = new ObjectMetadata();
    metadata.setContentLength(size);
    if (!s3Client.doesBucketExist(bucketName)) {
        s3Client.createBucket(bucketName);
    }
    s3Client.putObject(new PutObjectRequest(bucketName, fileName, stream, metadata));
    LOGGER.info("Successfully written data in s3 storage. Bucket:  " + bucketName);
}

From source file:onl.area51.filesystem.s3.S3Sender.java

License:Apache License

@Override
public void send(char[] path) throws IOException {
    String pathValue = String.valueOf(path);

    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(getDelegate().size(path));
    meta.setContentType(pathValue);/*from  w ww  .  j  ava  2s .c  o  m*/

    try (InputStream is = getDelegate().newInputStream(path)) {
        LOG.log(Level.FINE, () -> "Sending " + getBucketName() + ":" + pathValue);
        getS3().putObject(new PutObjectRequest(getBucketName(), pathValue, is, meta));
        LOG.log(Level.FINE, () -> "Sent " + getBucketName() + ":" + pathValue);
    } catch (AmazonS3Exception ex) {
        LOG.log(Level.FINE, () -> "Send error " + ex.getStatusCode() + " " + getBucketName() + ":" + pathValue);
        throw new IOException(ex.getStatusCode() + ": Failed to put " + pathValue, ex);
    } catch (IOException ex) {
        throw new IOException("Failed to put " + pathValue, ex);
    }
}

From source file:org.adroitlogic.build.aws.maven.SimpleStorageServiceWagon.java

License:Apache License

@Override
protected void putResource(File source, String destination, TransferProgress transferProgress)
        throws TransferFailedException, ResourceDoesNotExistException {
    String key = getKey(destination);

    mkdirs(key, 0);/*from w  w w  .ja  va 2  s  .  com*/

    InputStream in = null;
    try {
        ObjectMetadata objectMetadata = new ObjectMetadata();
        objectMetadata.setContentLength(source.length());
        objectMetadata.setContentType(Mimetypes.getInstance().getMimetype(source));

        in = new TransferProgressFileInputStream(source, transferProgress);

        this.amazonS3.putObject(new PutObjectRequest(this.bucketName, key, in, objectMetadata));
    } catch (AmazonServiceException e) {
        throw new TransferFailedException(String.format("Cannot write file to '%s'", destination), e);
    } catch (FileNotFoundException e) {
        throw new ResourceDoesNotExistException(String.format("Cannot read file from '%s'", source), e);
    } finally {
        IoUtils.closeQuietly(in);
    }
}