Java Code Examples for com.amazonaws.services.s3.model.S3Object#getObjectMetadata()
The following examples show how to use
com.amazonaws.services.s3.model.S3Object#getObjectMetadata() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: S3Operations.java From ats-framework with Apache License 2.0 | 6 votes |
/** * Get MD5, size, owner, storage class and last modification time for a desired file in the pointed bucket * * @param fileName the file name */ @PublicAtsApi public S3ObjectInfo getFileMetadata( String fileName ) { try { S3Object element = s3Client.getObject(bucketName, fileName); if (element != null) { ObjectMetadata metaData = element.getObjectMetadata(); S3ObjectInfo s3Info = new S3ObjectInfo(); s3Info.setBucketName(fileName); s3Info.setLastModified(metaData.getLastModified()); s3Info.setMd5(metaData.getETag()); s3Info.setName(element.getKey()); s3Info.setSize(metaData.getContentLength()); return s3Info; } else { throw new NoSuchElementException("File with name '" + fileName + "' does not exist!"); } } catch (Exception e) { handleExeption(e, "Could not retrieve metadata for S3 object with key '" + fileName + "'"); } return null; }
Example 2
Source File: DataS3.java From BigDataScript with Apache License 2.0 | 6 votes |
/** * Update object's information */ protected boolean updateInfo(S3Object s3object) { // Read metadata ObjectMetadata om = s3object.getObjectMetadata(); // Update data size = om.getContentLength(); canRead = true; canWrite = true; lastModified = om.getLastModified(); exists = true; latestUpdate = new Timer(CACHE_TIMEOUT); // Show information if (debug) Timer.showStdErr("Updated infromation for '" + this + "'"// + "\n\tcanRead : " + canRead // + "\n\texists : " + exists // + "\n\tlast modified: " + lastModified // + "\n\tsize : " + size // ); return true; }
Example 3
Source File: AwsSdkTest.java From s3proxy with Apache License 2.0 | 4 votes |
@Test public void testOverrideResponseHeader() throws Exception { String blobName = "foo"; ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(BYTE_SOURCE.size()); client.putObject(containerName, blobName, BYTE_SOURCE.openStream(), metadata); String cacheControl = "no-cache"; String contentDisposition = "attachment; filename=foo.html"; String contentEncoding = "gzip"; String contentLanguage = "en"; String contentType = "text/html; charset=UTF-8"; String expires = "Wed, 13 Jul 2016 21:23:51 GMT"; long expiresTime = 1468445031000L; GetObjectRequest getObjectRequest = new GetObjectRequest(containerName, blobName); getObjectRequest.setResponseHeaders( new ResponseHeaderOverrides() .withCacheControl(cacheControl) .withContentDisposition(contentDisposition) .withContentEncoding(contentEncoding) .withContentLanguage(contentLanguage) .withContentType(contentType) .withExpires(expires)); S3Object object = client.getObject(getObjectRequest); try (InputStream is = object.getObjectContent()) { assertThat(is).isNotNull(); ByteStreams.copy(is, ByteStreams.nullOutputStream()); } ObjectMetadata reponseMetadata = object.getObjectMetadata(); assertThat(reponseMetadata.getCacheControl()).isEqualTo( cacheControl); assertThat(reponseMetadata.getContentDisposition()).isEqualTo( contentDisposition); assertThat(reponseMetadata.getContentEncoding()).isEqualTo( contentEncoding); assertThat(reponseMetadata.getContentLanguage()).isEqualTo( contentLanguage); assertThat(reponseMetadata.getContentType()).isEqualTo( contentType); assertThat(reponseMetadata.getHttpExpiresDate().getTime()) .isEqualTo(expiresTime); }
Example 4
Source File: AwsSdkTest.java From s3proxy with Apache License 2.0 | 4 votes |
@Test public void testSinglepartUpload() throws Exception { String blobName = "singlepart-upload"; String cacheControl = "max-age=3600"; String contentDisposition = "attachment; filename=new.jpg"; String contentEncoding = "gzip"; String contentLanguage = "fr"; String contentType = "audio/mp4"; Map<String, String> userMetadata = ImmutableMap.of( "key1", "value1", "key2", "value2"); ObjectMetadata metadata = new ObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { metadata.setCacheControl(cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { metadata.setContentDisposition(contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { metadata.setContentEncoding(contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { metadata.setContentLanguage(contentLanguage); } metadata.setContentLength(BYTE_SOURCE.size()); metadata.setContentType(contentType); // TODO: expires metadata.setUserMetadata(userMetadata); client.putObject(containerName, blobName, BYTE_SOURCE.openStream(), metadata); S3Object object = client.getObject(containerName, blobName); try (InputStream actual = object.getObjectContent(); InputStream expected = BYTE_SOURCE.openStream()) { assertThat(actual).hasContentEqualTo(expected); } ObjectMetadata newContentMetadata = object.getObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { assertThat(newContentMetadata.getCacheControl()).isEqualTo( cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { assertThat(newContentMetadata.getContentDisposition()).isEqualTo( contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { assertThat(newContentMetadata.getContentEncoding()).isEqualTo( contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { assertThat(newContentMetadata.getContentLanguage()).isEqualTo( contentLanguage); } assertThat(newContentMetadata.getContentType()).isEqualTo( contentType); // TODO: expires assertThat(newContentMetadata.getUserMetadata()).isEqualTo( userMetadata); }
Example 5
Source File: AwsSdkTest.java From s3proxy with Apache License 2.0 | 4 votes |
@Test public void testMultipartUpload() throws Exception { String blobName = "multipart-upload"; String cacheControl = "max-age=3600"; String contentDisposition = "attachment; filename=new.jpg"; String contentEncoding = "gzip"; String contentLanguage = "fr"; String contentType = "audio/mp4"; Map<String, String> userMetadata = ImmutableMap.of( "key1", "value1", "key2", "value2"); ObjectMetadata metadata = new ObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { metadata.setCacheControl(cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { metadata.setContentDisposition(contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { metadata.setContentEncoding(contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { metadata.setContentLanguage(contentLanguage); } metadata.setContentType(contentType); // TODO: expires metadata.setUserMetadata(userMetadata); InitiateMultipartUploadResult result = client.initiateMultipartUpload( new InitiateMultipartUploadRequest(containerName, blobName, metadata)); ByteSource byteSource = TestUtils.randomByteSource().slice( 0, MINIMUM_MULTIPART_SIZE + 1); ByteSource byteSource1 = byteSource.slice(0, MINIMUM_MULTIPART_SIZE); ByteSource byteSource2 = byteSource.slice(MINIMUM_MULTIPART_SIZE, 1); UploadPartResult part1 = client.uploadPart(new UploadPartRequest() .withBucketName(containerName) .withKey(blobName) .withUploadId(result.getUploadId()) .withPartNumber(1) .withPartSize(byteSource1.size()) .withInputStream(byteSource1.openStream())); UploadPartResult part2 = client.uploadPart(new UploadPartRequest() .withBucketName(containerName) .withKey(blobName) .withUploadId(result.getUploadId()) .withPartNumber(2) .withPartSize(byteSource2.size()) .withInputStream(byteSource2.openStream())); client.completeMultipartUpload(new CompleteMultipartUploadRequest( containerName, blobName, result.getUploadId(), ImmutableList.of(part1.getPartETag(), part2.getPartETag()))); ObjectListing listing = client.listObjects(containerName); assertThat(listing.getObjectSummaries()).hasSize(1); S3Object object = client.getObject(containerName, blobName); try (InputStream actual = object.getObjectContent(); InputStream expected = byteSource.openStream()) { assertThat(actual).hasContentEqualTo(expected); } ObjectMetadata newContentMetadata = object.getObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { assertThat(newContentMetadata.getCacheControl()).isEqualTo( cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { assertThat(newContentMetadata.getContentDisposition()).isEqualTo( contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { assertThat(newContentMetadata.getContentEncoding()).isEqualTo( contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { assertThat(newContentMetadata.getContentLanguage()).isEqualTo( contentLanguage); } assertThat(newContentMetadata.getContentType()).isEqualTo( contentType); // TODO: expires assertThat(newContentMetadata.getUserMetadata()).isEqualTo( userMetadata); }
Example 6
Source File: AwsSdkTest.java From s3proxy with Apache License 2.0 | 4 votes |
@Test public void testCopyObjectPreserveMetadata() throws Exception { String fromName = "from-name"; String toName = "to-name"; String cacheControl = "max-age=3600"; String contentDisposition = "attachment; filename=old.jpg"; String contentEncoding = "gzip"; String contentLanguage = "en"; String contentType = "audio/ogg"; Map<String, String> userMetadata = ImmutableMap.of( "key1", "value1", "key2", "value2"); ObjectMetadata metadata = new ObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { metadata.setCacheControl(cacheControl); } metadata.setContentLength(BYTE_SOURCE.size()); if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { metadata.setContentDisposition(contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { metadata.setContentEncoding(contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { metadata.setContentLanguage(contentLanguage); } metadata.setContentType(contentType); // TODO: expires metadata.setUserMetadata(userMetadata); client.putObject(containerName, fromName, BYTE_SOURCE.openStream(), metadata); client.copyObject(containerName, fromName, containerName, toName); S3Object object = client.getObject(containerName, toName); try (InputStream actual = object.getObjectContent(); InputStream expected = BYTE_SOURCE.openStream()) { assertThat(actual).hasContentEqualTo(expected); } ObjectMetadata contentMetadata = object.getObjectMetadata(); assertThat(contentMetadata.getContentLength()).isEqualTo( BYTE_SOURCE.size()); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { assertThat(contentMetadata.getCacheControl()).isEqualTo( cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { assertThat(contentMetadata.getContentDisposition()).isEqualTo( contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { assertThat(contentMetadata.getContentEncoding()).isEqualTo( contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { assertThat(contentMetadata.getContentLanguage()).isEqualTo( contentLanguage); } assertThat(contentMetadata.getContentType()).isEqualTo( contentType); // TODO: expires assertThat(contentMetadata.getUserMetadata()).isEqualTo( userMetadata); }
Example 7
Source File: AwsSdkTest.java From s3proxy with Apache License 2.0 | 4 votes |
@Test public void testCopyObjectReplaceMetadata() throws Exception { String fromName = "from-name"; String toName = "to-name"; ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(BYTE_SOURCE.size()); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { metadata.setCacheControl("max-age=3600"); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { metadata.setContentDisposition("attachment; filename=old.jpg"); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { metadata.setContentEncoding("compress"); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { metadata.setContentLanguage("en"); } metadata.setContentType("audio/ogg"); // TODO: expires metadata.setUserMetadata(ImmutableMap.of( "key1", "value1", "key2", "value2")); client.putObject(containerName, fromName, BYTE_SOURCE.openStream(), metadata); String cacheControl = "max-age=1800"; String contentDisposition = "attachment; filename=new.jpg"; String contentEncoding = "gzip"; String contentLanguage = "fr"; String contentType = "audio/mp4"; ObjectMetadata contentMetadata = new ObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { contentMetadata.setCacheControl(cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { contentMetadata.setContentDisposition(contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { contentMetadata.setContentEncoding(contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { contentMetadata.setContentLanguage(contentLanguage); } contentMetadata.setContentType(contentType); // TODO: expires Map<String, String> userMetadata = ImmutableMap.of( "key3", "value3", "key4", "value4"); contentMetadata.setUserMetadata(userMetadata); client.copyObject(new CopyObjectRequest( containerName, fromName, containerName, toName) .withNewObjectMetadata(contentMetadata)); S3Object object = client.getObject(containerName, toName); try (InputStream actual = object.getObjectContent(); InputStream expected = BYTE_SOURCE.openStream()) { assertThat(actual).hasContentEqualTo(expected); } ObjectMetadata toContentMetadata = object.getObjectMetadata(); if (!Quirks.NO_CACHE_CONTROL_SUPPORT.contains(blobStoreType)) { assertThat(contentMetadata.getCacheControl()).isEqualTo( cacheControl); } if (!Quirks.NO_CONTENT_DISPOSITION.contains(blobStoreType)) { assertThat(toContentMetadata.getContentDisposition()).isEqualTo( contentDisposition); } if (!Quirks.NO_CONTENT_ENCODING.contains(blobStoreType)) { assertThat(toContentMetadata.getContentEncoding()).isEqualTo( contentEncoding); } if (!Quirks.NO_CONTENT_LANGUAGE.contains(blobStoreType)) { assertThat(toContentMetadata.getContentLanguage()).isEqualTo( contentLanguage); } assertThat(toContentMetadata.getContentType()).isEqualTo( contentType); // TODO: expires assertThat(toContentMetadata.getUserMetadata()).isEqualTo( userMetadata); }