List of usage examples for com.amazonaws.services.s3.model GetObjectRequest GetObjectRequest
public GetObjectRequest(String bucketName, String key)
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); }