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

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

Introduction

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

Prototype

public GetObjectRequest(String bucketName, String key) 

Source Link

Document

Constructs a new GetObjectRequest with all the required parameters.

Usage

From source file:org.zalando.stups.fullstop.controller.S3Controller.java

License:Apache License

@RequestMapping(method = RequestMethod.GET, value = "/download")
public void downloadFiles(@RequestParam(value = "bucket") final String bucket,
        @RequestParam(value = "location") final String location, @RequestParam(value = "page") final int page) {

    try {//  w  w  w.j a  v  a 2  s.  c om
        log.info("Creating fullstop directory here: {}", fullstopLoggingDir);

        boolean mkdirs = new File(fullstopLoggingDir).mkdirs();
    } catch (SecurityException e) {
        // do nothing
    }

    AmazonS3Client amazonS3Client = new AmazonS3Client();
    amazonS3Client.setRegion(Region.getRegion(Regions
            .fromName((String) cloudTrailProcessingLibraryProperties.getAsProperties().get(S3_REGION_KEY))));

    ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucket) //
            .withPrefix(location) //
            .withMaxKeys(page);

    ObjectListing objectListing = amazonS3Client.listObjects(listObjectsRequest);

    final List<S3ObjectSummary> s3ObjectSummaries = objectListing.getObjectSummaries();

    while (objectListing.isTruncated()) {

        objectListing = amazonS3Client.listNextBatchOfObjects(objectListing);
        s3ObjectSummaries.addAll(objectListing.getObjectSummaries());

    }

    for (S3ObjectSummary s3ObjectSummary : s3ObjectSummaries) {
        String bucketName = s3ObjectSummary.getBucketName();
        String key = s3ObjectSummary.getKey();

        S3Object object = amazonS3Client.getObject(new GetObjectRequest(bucketName, key));
        InputStream inputStream = object.getObjectContent();

        File file = new File(fullstopLoggingDir,
                object.getBucketName() + object.getObjectMetadata().getETag() + JSON_GZ);

        copyInputStreamToFile(inputStream, file);
        log.info("File saved here: {}", file.getAbsolutePath());

    }
}

From source file:oulib.aws.s3.S3TiffMetadataProcessorThread.java

@Override
public void run() {

    String sourceBucketName = bookInfo.getBucketSourceName();
    String targetBucketName = bookInfo.getBucketTargetName();
    String bookName = bookInfo.getBookName();

    String bucketFolder = S3Util.S3_TIFF_METADATA_PROCESS_OUTPUT + File.separator + sourceBucketName;
    File bucketFolderFile = new File(bucketFolder);
    if (!bucketFolderFile.exists() || !bucketFolderFile.isDirectory()) {
        bucketFolderFile.mkdirs();/*w w w .j  av a2s  .  co  m*/
    }

    String bookPath = bucketFolder + File.separator + bookName;
    File bookFile = new File(bookPath);
    if (!bookFile.exists()) {
        bookFile.mkdir();
    }

    try {

        // Every book has a folder in the target bucket:
        Map targetBucketKeyMap = S3Util.getBucketObjectKeyMap(targetBucketName, bookName, s3client);
        if (!S3Util.folderExitsts(bookName, targetBucketKeyMap)) {
            S3Util.createFolder(targetBucketName, bookName, s3client);
        }

        for (String key : tiffList) {
            if (key.contains(".tif") && matchS3ObjKeyWithFilter(key, filter)
                    && targetBucketKeyMap.containsKey(key)
                    && !targetBucketKeyMap.containsKey(key.split(".tif")[0] + "-copied.tif")) {
                S3Object objectSource = s3client.getObject(new GetObjectRequest(sourceBucketName, key));
                S3Object objectTarget = s3client.getObject(new GetObjectRequest(targetBucketName, key));
                output += ("Start to copy metadata from the source object " + sourceBucketName + "/" + key
                        + " to target object " + targetBucketName + "/" + key + "\n");
                System.out.println("Start to copy metadata from the source object " + sourceBucketName + "/"
                        + key + " to target object " + targetBucketName + "/" + key + "\n");
                S3Util.copyS3ObjectTiffMetadata(s3client, objectSource, objectTarget);
                System.out.println("Finished copy metadata for the object with key=" + key + "\n");
                output += "Finished copy metadata for the object with key=" + key + "\n";
                try {
                    objectSource.close();
                    objectTarget.close();
                } catch (IOException ex) {
                    Logger.getLogger(S3TiffProcessorThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        System.out.println(Thread.currentThread().getName() + "'s job is done!");

    } catch (AmazonServiceException ase) {
        output += "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.\n";
        output += "Error Message:    " + ase.getMessage();
        output += "HTTP Status Code: " + ase.getStatusCode();
        output += "AWS Error Code:   " + ase.getErrorCode();
        output += "Error Type:       " + ase.getErrorType();
        output += "Request ID:       " + ase.getRequestId();
        System.out.println(
                "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.\n");
        System.out.println("Error Message:    " + ase.getMessage());
        System.out.println("HTTP Status Code: " + ase.getStatusCode());
        System.out.println("AWS Error Code:   " + ase.getErrorCode());
        System.out.println("Error Type:       " + ase.getErrorType());
        System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
        output += "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.\n";
        output += "Error Message: " + ace.getMessage();
        System.out.println(
                "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.\n");
        System.out.println("Error Message: " + ace.getMessage());
    } finally {
        outputToFile(bookPath + File.separator + filter + ".txt");
    }
}

From source file:oulib.aws.s3.S3TiffProcessor.java

/**
* 
* @param bookInfo : contains the information of the source bucket name, target bucket name, and the name of the book
* @param context : lambda function runtime context
* @return ://from ww  w  . j av  a2  s .  com
* 
*/
@Override
public String handleRequest(S3BookInfo bookInfo, Context context) {

    AmazonS3 s3client = new AmazonS3Client();
    Region usEast = Region.getRegion(Regions.US_EAST_1);
    s3client.setRegion(usEast);

    try {
        String sourceBucketName = bookInfo.getBucketSourceName();
        String targetBucketName = bookInfo.getBucketTargetName();
        String bookName = bookInfo.getBookName();

        // Every book has a folder in the target bucket:
        Map targetBucketKeyMap = S3Util.getBucketObjectKeyMap(targetBucketName, bookName, s3client);
        if (!S3Util.folderExitsts(bookName, targetBucketKeyMap)) {
            S3Util.createFolder(targetBucketName, bookName, s3client);
        }

        final ListObjectsV2Request req = new ListObjectsV2Request().withBucketName(sourceBucketName)
                .withPrefix(bookName + "/data/");
        ListObjectsV2Result result;

        do {
            result = s3client.listObjectsV2(req);

            for (S3ObjectSummary objectSummary : result.getObjectSummaries()) {
                String key = objectSummary.getKey();
                if (key.endsWith(".tif") && !targetBucketKeyMap.containsKey(key + ".tif")) {
                    S3Object object = s3client.getObject(new GetObjectRequest(sourceBucketName, key));
                    System.out.println("Start to generate smaller tif image for the object " + key);
                    S3Util.generateSmallTiffWithTargetSize(s3client, object, targetBucketName,
                            bookInfo.getCompressionSize());
                    //                       S3Util.copyS3ObjectTiffMetadata(s3client, object, s3client.getObject(new GetObjectRequest(targetBucketName, key)), targetBucketName, key+".tif");
                    System.out.println("Finished to generate smaller tif image for the object " + key + ".tif");
                    //                       break;
                }
            }
            System.out.println("Next Continuation Token : " + result.getNextContinuationToken());
            req.setContinuationToken(result.getNextContinuationToken());
        } while (result.isTruncated() == true);

    } catch (AmazonServiceException ase) {
        System.out.println(
                "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.");
        System.out.println("Error Message:    " + ase.getMessage());
        System.out.println("HTTP Status Code: " + ase.getStatusCode());
        System.out.println("AWS Error Code:   " + ase.getErrorCode());
        System.out.println("Error Type:       " + ase.getErrorType());
        System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
        System.out.println(
                "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.");
        System.out.println("Error Message: " + ace.getMessage());
    }
    return null;
}

From source file:oulib.aws.s3.S3TiffProcessorThread.java

@Override
public void run() {

    String sourceBucketName = bookInfo.getBucketSourceName();
    String targetBucketName = bookInfo.getBucketTargetName();
    String bookName = bookInfo.getBookName();

    String bucketFolder = S3Util.S3_SMALL_DERIVATIVE_OUTPUT + File.separator + sourceBucketName;
    File bucketFolderFile = new File(bucketFolder);
    if (!bucketFolderFile.exists() || !bucketFolderFile.isDirectory()) {
        bucketFolderFile.mkdirs();//from w  w  w .  j  a va  2s  . c  o  m
    }

    String bookPath = bucketFolder + File.separator + bookName;
    File bookFile = new File(bookPath);
    if (!bookFile.exists()) {
        bookFile.mkdir();
    }

    try {

        // Every book has a folder in the target bucket:
        Map targetBucketKeyMap = S3Util.getBucketObjectKeyMap(targetBucketName, bookName, s3client);
        if (!S3Util.folderExitsts(bookName, targetBucketKeyMap)) {
            S3Util.createFolder(targetBucketName, bookName, s3client);
        }

        //            final ListObjectsV2Request req = new ListObjectsV2Request().withBucketName(sourceBucketName).withPrefix(bookName + "/data/");
        //            ListObjectsV2Result result;

        //            do {               
        //                result = s3client.listObjectsV2(req);

        for (String key : tiffList) {
            //                    String key = objectSummary.getKey();
            //                    if(key.contains(".tif") && key.contains(filter) && !targetBucketKeyMap.containsKey(key+".tif")){
            if (key.contains(".tif") && matchS3ObjKeyWithFilter(key, filter)
                    && !targetBucketKeyMap.containsKey(key + ".tif")) {
                S3Object object = s3client.getObject(new GetObjectRequest(sourceBucketName, key));
                output += ("Start to generate smaller tif image for the object " + key + "\n");
                System.out.println("Start to generate smaller tif image for the object " + key + "\n");
                //                        System.out.println("Working on the object "+key);
                S3Util.generateSmallTiffWithTargetSize(s3client, object, targetBucketName,
                        bookInfo.getCompressionSize());
                //                   S3Util.copyS3ObjectTiffMetadata(s3client, object, s3client.getObject(new GetObjectRequest(targetBucketName, key)), targetBucketName, key+".tif");
                System.out.println("Finished to generate smaller tif image for the object " + key + "\n");
                output += "Finished to generate smaller tif image for the object " + key + "\n";
                try {
                    object.close();
                } catch (IOException ex) {
                    Logger.getLogger(S3TiffProcessorThread.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        //                output += "Next Continuation Token : " + result.getNextContinuationToken();
        System.out.println(Thread.currentThread().getName() + "'s job is done!");
        //                req.setContinuationToken(result.getNextContinuationToken());
        //            } while(result.isTruncated() == true ); 

    } catch (AmazonServiceException ase) {
        output += "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.\n";
        output += "Error Message:    " + ase.getMessage();
        output += "HTTP Status Code: " + ase.getStatusCode();
        output += "AWS Error Code:   " + ase.getErrorCode();
        output += "Error Type:       " + ase.getErrorType();
        output += "Request ID:       " + ase.getRequestId();
        System.out.println(
                "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.\n");
        System.out.println("Error Message:    " + ase.getMessage());
        System.out.println("HTTP Status Code: " + ase.getStatusCode());
        System.out.println("AWS Error Code:   " + ase.getErrorCode());
        System.out.println("Error Type:       " + ase.getErrorType());
        System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
        output += "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.\n";
        output += "Error Message: " + ace.getMessage();
        System.out.println(
                "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.\n");
        System.out.println("Error Message: " + ace.getMessage());
    } finally {
        outputToFile(bookPath + File.separator + filter + ".txt");
    }
}

From source file:oulib.aws.s3.S3Util.java

public static PutObjectResult generateSmallTiff(AmazonS3 s3client, String sourceBucketName, String sourceKey,
        String targetBucketName, String targetKey, double compressionRate) {

    S3Object s3Object = s3client.getObject(new GetObjectRequest(sourceBucketName, sourceKey));
    return generateSmallTiff(s3client, s3Object, targetBucketName, targetKey, compressionRate);
}

From source file:oulib.aws.s3.S3Util.java

/**
 * Pull out Tiff metadata from input S3 object and inject into the 
 * content of target S3 Object;<br>
 * Generate the new output S3 object that has the metadata from input object.
 * //from  w w  w  .  j  a va2 s.c om
 * @param s3client : S3 client
 * @param sourceBucketName : Input bucket name
 * @param targetBucketName : Output bucket name
 * @param sourceKey : Input object key
 * @param targetKey : Output object key
 * 
 * @return PutObjectResult
 */
public static PutObjectResult copyS3ObjectTiffMetadata(AmazonS3 s3client, String sourceBucketName,
        String targetBucketName, String sourceKey, String targetKey) {
    S3Object obj1 = s3client.getObject(new GetObjectRequest(sourceBucketName, sourceKey));
    S3Object obj2 = s3client.getObject(new GetObjectRequest(targetBucketName, targetKey));
    return copyS3ObjectTiffMetadata(s3client, obj1, obj2);
}

From source file:oulib.aws.s3.S3Util.java

public static void generateTifDerivativesByS3Bucket(AmazonS3 s3client, S3BookInfo bookInfo) {

    String sourceBucketName = bookInfo.getBucketSourceName();
    String targetBucketName = bookInfo.getBucketTargetName();
    String bookName = bookInfo.getBookName();

    try {// ww w  .  ja v a  2  s . c  om

        // Every book has a folder in the target bucket:
        Map targetBucketKeyMap = S3Util.getBucketObjectKeyMap(targetBucketName, bookName, s3client);
        if (!S3Util.folderExitsts(bookName, targetBucketKeyMap)) {
            S3Util.createFolder(targetBucketName, bookName, s3client);
        }

        final ListObjectsV2Request req = new ListObjectsV2Request().withBucketName(sourceBucketName)
                .withPrefix(bookName + "/data/");
        ListObjectsV2Result result;

        do {
            result = s3client.listObjectsV2(req);

            for (S3ObjectSummary objectSummary : result.getObjectSummaries()) {
                String key = objectSummary.getKey();
                if (key.contains(".tif") && (key.contains("047") || key.contains("049") || key.contains("054"))
                        && !targetBucketKeyMap.containsKey(key + ".tif")) {
                    S3Object object = s3client.getObject(new GetObjectRequest(sourceBucketName, key));
                    System.out.println("Start to generate smaller tif image for the object " + key + "\n");
                    S3Util.generateSmallTiffWithTargetSize(s3client, object, targetBucketName,
                            bookInfo.getCompressionSize());
                    //                   S3Util.copyS3ObjectTiffMetadata(s3client, object, s3client.getObject(new GetObjectRequest(targetBucketName, key)), targetBucketName, key+".tif");
                    System.out.println("Finished to generate smaller tif image for the object " + key + "\n");
                    //                   break;
                }
            }
            System.out.println("Next Continuation Token : " + result.getNextContinuationToken() + "\n");
            req.setContinuationToken(result.getNextContinuationToken());
        } while (result.isTruncated() == true);

    } catch (AmazonServiceException ase) {
        System.out.println(
                "Caught an AmazonServiceException, which means your request made it to Amazon S3, but was rejected with an error response for some reason.\n");
        System.out.println("Error Message:    " + ase.getMessage() + "\n");
        System.out.println("HTTP Status Code: " + ase.getStatusCode() + "\n");
        System.out.println("AWS Error Code:   " + ase.getErrorCode() + "\n");
        System.out.println("Error Type:       " + ase.getErrorType() + "\n");
        System.out.println("Request ID:       " + ase.getRequestId() + "\n");
    } catch (AmazonClientException ace) {
        System.out.println(
                "Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, \nsuch as not being able to access the network.\n");
        System.out.println("Error Message: " + ace.getMessage() + "\n");
    }
}

From source file:pl.pawlik.cymes.controllers.FormController.java

@RequestMapping(value = "/plik/{nazwa_pliku}", method = RequestMethod.GET)
public void getFile(@PathVariable("nazwa_pliku") String nazwaPliku, HttpServletResponse response) {
    try {//from   ww w . jav a  2  s. co  m
        AmazonS3 s3client = new AmazonS3Client(
                new BasicAWSCredentials("AKIAJJ4WVVITDZF4SU4A", "oTNfuCbjK/Q/BnBEdQCAs6ogIpoRmbvROAjtdtXV"));
        S3Object object = s3client.getObject(
                new GetObjectRequest("pawliktest", "/uploads/upload_2d6303ef-a714-4fa6-9137-fc8b22412730"));
        InputStream is = object.getObjectContent();
        response.setContentType("image/jpeg");

        org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
        response.flushBuffer();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:prodoc.StoreAmazonS3.java

License:GNU General Public License

/**
 *
 * @param Id/*from  w  w  w .  j av a 2  s . c  o m*/
 * @param Ver
 * @return
 * @throws PDException
 */
protected InputStream Retrieve(String Id, String Ver) throws PDException {
    try {
        S3Object object = s3.getObject(new GetObjectRequest(BucketName, GenKey(Id, Ver)));
        return (object.getObjectContent());
    } catch (Exception ex) {
        PDException.GenPDException("Error_retrieving_content", ex.getLocalizedMessage());
    }
    return (null);
}

From source file:prodoc.StoreAmazonS3.java

License:GNU General Public License

/**
 *
 * @param Id// w  ww  .j ava 2s.  c  o  m
 * @param Ver
 * @return
 * @throws PDException
 */
protected int Retrieve(String Id, String Ver, OutputStream fo) throws PDException {
    VerifyId(Id);
    int Tot = 0;
    try {
        S3Object object = s3.getObject(new GetObjectRequest(BucketName, GenKey(Id, Ver)));
        InputStream in = object.getObjectContent();
        int readed = in.read(Buffer);
        while (readed != -1) {
            if (isEncript())
                DecriptPass(Buffer, readed);
            fo.write(Buffer, 0, readed);
            Tot += readed;
            readed = in.read(Buffer);
        }
        in.close();
        fo.flush();
        fo.close();
    } catch (Exception ex) {
        PDException.GenPDException("Error_retrieving_content", ex.getLocalizedMessage());
    }
    return (Tot);
}