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

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

Introduction

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

Prototype

@Override
    @SuppressWarnings("unchecked")
    public PutObjectRequest withStorageClass(StorageClass storageClass) 

Source Link

Usage

From source file:ch.myniva.gradle.caching.s3.internal.AwsS3BuildCacheService.java

License:Apache License

@Override
public void store(BuildCacheKey key, BuildCacheEntryWriter writer) {
    final String bucketPath = getBucketPath(key);
    logger.info("Start storing cache entry '{}' in S3 bucket", bucketPath);
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentType(BUILD_CACHE_CONTENT_TYPE);

    try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
        writer.writeTo(os);//  w  ww.  j  a  va  2s.  c o m
        meta.setContentLength(os.size());
        try (InputStream is = new ByteArrayInputStream(os.toByteArray())) {
            PutObjectRequest request = getPutObjectRequest(bucketPath, meta, is);
            if (this.reducedRedundancy) {
                request.withStorageClass(StorageClass.ReducedRedundancy);
            }
            s3.putObject(request);
        }
    } catch (IOException e) {
        throw new BuildCacheException("Error while storing cache object in S3 bucket", e);
    }
}

From source file:com.liferay.portal.store.s3.S3Store.java

License:Open Source License

protected void putObject(long companyId, long repositoryId, String fileName, String versionLabel, File file)
        throws PortalException {

    Upload upload = null;//from  ww w  .  ja  va 2  s. c  om

    try {
        String key = _s3KeyTransformer.getFileVersionKey(companyId, repositoryId, fileName, versionLabel);

        PutObjectRequest putObjectRequest = new PutObjectRequest(_bucketName, key, file);

        putObjectRequest.withStorageClass(_storageClass);

        upload = _transferManager.upload(putObjectRequest);

        upload.waitForCompletion();
    } catch (AmazonClientException ace) {
        throw transform(ace);
    } catch (InterruptedException ie) {
        upload.abort();

        Thread thread = Thread.currentThread();

        thread.interrupt();
    }
}