List of usage examples for com.amazonaws.services.s3.model S3ObjectSummary getKey
public String getKey()
From source file:awslabs.lab21.SolutionCode.java
License:Open Source License
@Override public void deleteBucket(AmazonS3 s3Client, String bucketName) { // First, try to delete the bucket. DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest(bucketName); try {/*from w w w. ja v a 2s.c om*/ s3Client.deleteBucket(deleteBucketRequest); // If we got here, no error was generated so we'll assume the bucket was deleted and return. return; } catch (AmazonS3Exception ex) { if (!ex.getErrorCode().equals("BucketNotEmpty")) { // The only other exception we're going to handle is BucketNotEmpty, so rethrow anything else. throw ex; } } // If we got here, the bucket isn't empty, so delete the contents and try again. List<KeyVersion> keys = new ArrayList<KeyVersion>(); for (S3ObjectSummary obj : s3Client.listObjects(bucketName).getObjectSummaries()) { // Add the keys to our list of object. keys.add(new KeyVersion(obj.getKey())); } // Create the request to delete the objects. DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName); deleteObjectsRequest.withKeys(keys); // Submit the delete objects request. s3Client.deleteObjects(deleteObjectsRequest); // The bucket is empty now, so attempt the delete again. s3Client.deleteBucket(deleteBucketRequest); }
From source file:awslabs.lab41.SolutionCode.java
License:Open Source License
@Override public void removeLabBuckets(AmazonS3Client s3Client, List<String> bucketNames) { for (String bucketName : bucketNames) { try {/* ww w. j a v a2s. c o m*/ ObjectListing objectListing = s3Client .listObjects(new ListObjectsRequest().withBucketName(bucketName)); for (S3ObjectSummary s3ObjectSummary : objectListing.getObjectSummaries()) { DeleteObjectRequest deleteObjectRequest = new DeleteObjectRequest( s3ObjectSummary.getBucketName(), s3ObjectSummary.getKey()); s3Client.deleteObject(deleteObjectRequest); } s3Client.deleteBucket(new DeleteBucketRequest(bucketName)); } catch (AmazonS3Exception s3E) { if (!s3E.getErrorCode().equals("NoSuchBucket")) { // This error wasn't expected, so rethrow. throw s3E; } } } }
From source file:backup.store.s3.S3BackupStoreUtil.java
License:Apache License
public static void removeAllObjects(String bucketName) throws Exception { AmazonS3Client client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain()); ObjectListing listObjects = client.listObjects(bucketName); List<S3ObjectSummary> objectSummaries = listObjects.getObjectSummaries(); for (S3ObjectSummary objectSummary : objectSummaries) { String key = objectSummary.getKey(); client.deleteObject(bucketName, key); }//www. j a v a2 s. co m }
From source file:backup.store.s3.S3BackupStoreUtil.java
License:Apache License
public static void removeAllObjects(String bucketName, String prefix) throws Exception { AmazonS3Client client = new AmazonS3Client(new DefaultAWSCredentialsProviderChain()); ObjectListing listObjects = client.listObjects(bucketName); List<S3ObjectSummary> objectSummaries = listObjects.getObjectSummaries(); for (S3ObjectSummary objectSummary : objectSummaries) { String key = objectSummary.getKey(); if (key.startsWith(prefix)) { client.deleteObject(bucketName, key); }/*from w w w . java2s . c o m*/ } }
From source file:br.com.tamandua.aws.S3Sample.java
License:Open Source License
public static void main(String[] args) throws IOException { /*//from w w w. j a va2 s . com * Important: Be sure to fill in your AWS access credentials in the * AwsCredentials.properties file before you try to run this * sample. * http://aws.amazon.com/security-credentials */ AmazonS3 s3 = new AmazonS3Client( new PropertiesCredentials(S3Sample.class.getResourceAsStream("AwsCredentials.properties"))); String bucketName = "test-bucket-everton-" + UUID.randomUUID(); String key = "somekey"; System.out.println("==========================================="); System.out.println("Getting Started with Amazon S3"); System.out.println("===========================================\n"); try { /* * Create a new S3 bucket - Amazon S3 bucket names are globally unique, * so once a bucket name has been taken by any user, you can't create * another bucket with that same name. * * You can optionally specify a location for your bucket if you want to * keep your data closer to your applications or users. */ System.out.println("Creating bucket " + bucketName + "\n"); s3.createBucket(bucketName); /* * List the buckets in your account */ System.out.println("Listing buckets"); for (Bucket bucket : s3.listBuckets()) { System.out.println(" - " + bucket.getName()); } System.out.println(); /* * Upload an object to your bucket - You can easily upload a file to * S3, or upload directly an InputStream if you know the length of * the data in the stream. You can also specify your own metadata * when uploading to S3, which allows you set a variety of options * like content-type and content-encoding, plus additional metadata * specific to your applications. */ System.out.println("Uploading a new object to S3 from a file\n"); s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile())); /* * Download an object - When you download an object, you get all of * the object's metadata and a stream from which to read the contents. * It's important to read the contents of the stream as quickly as * possibly since the data is streamed directly from Amazon S3 and your * network connection will remain open until you read all the data or * close the input stream. * * GetObjectRequest also supports several other options, including * conditional downloading of objects based on modification times, * ETags, and selectively downloading a range of an object. */ System.out.println("Downloading an object"); S3Object object = s3.getObject(new GetObjectRequest(bucketName, key)); System.out.println("Content-Type: " + object.getObjectMetadata().getContentType()); displayTextInputStream(object.getObjectContent()); /* * List objects in your bucket by prefix - There are many options for * listing the objects in your bucket. Keep in mind that buckets with * many objects might truncate their results when listing their objects, * so be sure to check if the returned object listing is truncated, and * use the AmazonS3.listNextBatchOfObjects(...) operation to retrieve * additional results. */ System.out.println("Listing objects"); ObjectListing objectListing = s3 .listObjects(new ListObjectsRequest().withBucketName(bucketName).withPrefix("some")); for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { System.out.println( " - " + objectSummary.getKey() + " " + "(size = " + objectSummary.getSize() + ")"); } System.out.println(); /* * Delete an object - Unless versioning has been turned on for your bucket, * there is no way to undelete an object, so use caution when deleting objects. */ System.out.println("Deleting an object\n"); s3.deleteObject(bucketName, key); /* * Delete a bucket - A bucket must be completely empty before it can be * deleted, so remember to delete any objects from your buckets before * you try to delete them. */ System.out.println("Deleting bucket " + bucketName + "\n"); s3.deleteBucket(bucketName); } 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 " + "a serious internal problem while trying to communicate with S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } }
From source file:br.com.unb.aws.client.S3ClientV1.java
License:Open Source License
public static void main(String[] args) throws IOException { /*/*from w w w .j a va 2s. c om*/ * Create your credentials file at ~/.aws/credentials (C:\Users\USER_NAME\.aws\credentials for Windows users) * and save the following lines after replacing the underlined values with your own. * * [default] * aws_access_key_id = YOUR_ACCESS_KEY_ID * aws_secret_access_key = YOUR_SECRET_ACCESS_KEY */ AmazonS3 s3 = new AmazonS3Client(); Region usWest2 = Region.getRegion(Regions.US_WEST_2); s3.setRegion(usWest2); String bucketName = "my-first-s3-bucket-" + UUID.randomUUID(); String key = "MyObjectKey"; System.out.println("==========================================="); System.out.println("Getting Started with Amazon S3"); System.out.println("===========================================\n"); try { /* * Create a new S3 bucket - Amazon S3 bucket names are globally unique, * so once a bucket name has been taken by any user, you can't create * another bucket with that same name. * * You can optionally specify a location for your bucket if you want to * keep your data closer to your applications or users. */ System.out.println("Creating bucket " + bucketName + "\n"); s3.createBucket(bucketName); /* * List the buckets in your account */ System.out.println("Listing buckets"); for (Bucket bucket : s3.listBuckets()) { System.out.println(" - " + bucket.getName()); } System.out.println(); /* * Upload an object to your bucket - You can easily upload a file to * S3, or upload directly an InputStream if you know the length of * the data in the stream. You can also specify your own metadata * when uploading to S3, which allows you set a variety of options * like content-type and content-encoding, plus additional metadata * specific to your applications. */ System.out.println("Uploading a new object to S3 from a file\n"); s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile())); /* * Download an object - When you download an object, you get all of * the object's metadata and a stream from which to read the contents. * It's important to read the contents of the stream as quickly as * possibly since the data is streamed directly from Amazon S3 and your * network connection will remain open until you read all the data or * close the input stream. * * GetObjectRequest also supports several other options, including * conditional downloading of objects based on modification times, * ETags, and selectively downloading a range of an object. */ System.out.println("Downloading an object"); S3Object object = s3.getObject(new GetObjectRequest(bucketName, key)); System.out.println("Content-Type: " + object.getObjectMetadata().getContentType()); displayTextInputStream(object.getObjectContent()); /* * List objects in your bucket by prefix - There are many options for * listing the objects in your bucket. Keep in mind that buckets with * many objects might truncate their results when listing their objects, * so be sure to check if the returned object listing is truncated, and * use the AmazonS3.listNextBatchOfObjects(...) operation to retrieve * additional results. */ System.out.println("Listing objects"); ObjectListing objectListing = s3 .listObjects(new ListObjectsRequest().withBucketName(bucketName).withPrefix("My")); for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { System.out.println( " - " + objectSummary.getKey() + " " + "(size = " + objectSummary.getSize() + ")"); } System.out.println(); /* * Delete an object - Unless versioning has been turned on for your bucket, * there is no way to undelete an object, so use caution when deleting objects. */ System.out.println("Deleting an object\n"); s3.deleteObject(bucketName, key); /* * Delete a bucket - A bucket must be completely empty before it can be * deleted, so remember to delete any objects from your buckets before * you try to delete them. */ System.out.println("Deleting bucket " + bucketName + "\n"); s3.deleteBucket(bucketName); } 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 " + "a serious internal problem while trying to communicate with S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } }
From source file:c3.ops.priam.aws.S3FileIterator.java
License:Apache License
private Iterator<AbstractBackupPath> createIterator() { List<AbstractBackupPath> temp = Lists.newArrayList(); for (S3ObjectSummary summary : objectListing.getObjectSummaries()) { AbstractBackupPath path = pathProvider.get(); path.parseRemote(summary.getKey()); logger.debug("New key " + summary.getKey() + " path = " + path.getRemotePath() + " " + start + " end: " + till + " my " + path.getTime()); if ((path.getTime().after(start) && path.getTime().before(till)) || path.getTime().equals(start)) { temp.add(path);//from www .j a v a2 s . co m logger.debug("Added key " + summary.getKey()); } } return temp.iterator(); }
From source file:ca.pgon.amazons3masscontenttype.App.java
License:Apache License
private static void process(ObjectListing objectListing) { for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) { // Show the key String key = objectSummary.getKey(); System.out.println(key);/*from w ww . j a v a 2s . c o m*/ // Get the metadata and check the content type ObjectMetadata objectMetadata = amazonS3Client.getObjectMetadata(bucketName, key); System.out.println("\tCurrent content type: " + objectMetadata.getContentType()); if (!contentType.equals(objectMetadata.getContentType())) { System.out.println("\tChanging content type for : " + contentType); objectMetadata.setContentType(contentType); // Get the current ACL AccessControlList accessControlList = amazonS3Client.getObjectAcl(bucketName, key); // Modify the file CopyObjectRequest copyObjectRequest = new CopyObjectRequest(bucketName, key, bucketName, key); copyObjectRequest.withNewObjectMetadata(objectMetadata); copyObjectRequest.withAccessControlList(accessControlList); amazonS3Client.copyObject(copyObjectRequest); } ++count; } }
From source file:ch.admin.isb.hermes5.persistence.s3.S3RemoteAdapter.java
License:Apache License
@Override public List<String> deletePath(String path) { List<String> keys = new ArrayList<String>(); ObjectListing listObjects = s3.listObjects(this.bucketName.getStringValue(), path); List<S3ObjectSummary> objectSummaries = listObjects.getObjectSummaries(); if (!objectSummaries.isEmpty()) { DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName.getStringValue()); for (S3ObjectSummary s3ObjectSummary : objectSummaries) { String key = s3ObjectSummary.getKey(); keys.add(key);//w ww. ja v a 2 s .c o m deleteObjectsRequest.getKeys().add(new KeyVersion(key)); } s3.deleteObjects(deleteObjectsRequest); } return keys; }
From source file:ch.admin.isb.hermes5.persistence.s3.S3RemoteAdapter.java
License:Apache License
@Override public List<String> listFiles(String path) { ObjectListing listObjects = s3.listObjects(this.bucketName.getStringValue(), path); List<S3ObjectSummary> objectSummaries = listObjects.getObjectSummaries(); List<String> files = new ArrayList<String>(); for (S3ObjectSummary s3ObjectSummary : objectSummaries) { String key = s3ObjectSummary.getKey(); files.add(key.substring(path.length() + 1)); }//from w ww . j av a2 s .c o m return files; }