Package thredds.crawlabledataset.s3
Class ThreddsS3ClientImpl
- java.lang.Object
-
- thredds.crawlabledataset.s3.ThreddsS3ClientImpl
-
- All Implemented Interfaces:
ThreddsS3Client
public class ThreddsS3ClientImpl extends Object implements ThreddsS3Client
A basic implementation ofThreddsS3Client
.- Since:
- 2015/08/22
-
-
Constructor Summary
Constructors Constructor Description ThreddsS3ClientImpl()
ThreddsS3ClientImpl(com.amazonaws.services.s3.AmazonS3Client s3Client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.amazonaws.services.s3.model.ObjectMetadata
getObjectMetadata(S3URI s3uri)
Gets the metadata for the specified Amazon S3 object without actually fetching the object itself.com.amazonaws.services.s3.model.ObjectListing
listObjects(S3URI s3uri)
Returns a listing of the objects located in the "virtual filesystem" at the specified URI.File
saveObjectToFile(S3URI s3uri, File file)
Gets the object metadata for the object stored in Amazon S3 under the specified bucket and key, and saves the object contents to the specified file.
-
-
-
Method Detail
-
getObjectMetadata
public com.amazonaws.services.s3.model.ObjectMetadata getObjectMetadata(S3URI s3uri)
Description copied from interface:ThreddsS3Client
Gets the metadata for the specified Amazon S3 object without actually fetching the object itself. The object metadata contains information such as content type, content disposition, etc., as well as custom user metadata that can be associated with an object in Amazon S3.- Specified by:
getObjectMetadata
in interfaceThreddsS3Client
- Parameters:
s3uri
- the Amazon S3 URI of the object whose metadata is being retrieved.- Returns:
- all Amazon S3 object metadata for the specified object.
Will be
null
if there is no S3 bucket with the specified name that has the specified key.
-
listObjects
public com.amazonaws.services.s3.model.ObjectListing listObjects(S3URI s3uri)
Description copied from interface:ThreddsS3Client
Returns a listing of the objects located in the "virtual filesystem" at the specified URI.s3uri.getKey()
is interpreted as a path, and only objects (accessible viaObjectListing.getObjectSummaries()
) or "directories" (accessible viaObjectListing.getCommonPrefixes()
) that have that prefix will be part of the returned listing.NOTE: To manage large result sets, Amazon S3 uses pagination to split them into multiple responses. As a consequence, this listing will only include the first 1000-or-so results.
TODO: Extend this API so that it allows the retrieval of more than 1000 results.
- Specified by:
listObjects
in interfaceThreddsS3Client
- Parameters:
s3uri
- the Amazon S3 URI of the "virtual directory" whose objects are being retrieved.- Returns:
- a listing of objects. Will be
null
if the specified URI does not denote an existing virtual directory. Otherwise, the result will be non-null and non-empty. That is, it will have at least one object summary or at least one common prefix. - See Also:
AmazonS3.listObjects(String)
-
saveObjectToFile
public File saveObjectToFile(S3URI s3uri, File file) throws IOException
Description copied from interface:ThreddsS3Client
Gets the object metadata for the object stored in Amazon S3 under the specified bucket and key, and saves the object contents to the specified file.- Specified by:
saveObjectToFile
in interfaceThreddsS3Client
- Parameters:
s3uri
- the Amazon S3 URI of the object whose content is being saved.file
- indicates the file (which might already exist) where to save the object content being downloading from Amazon S3.- Returns:
- the file in which the Amazon S3 object's content was saved.
Returns
null
if there is no S3 bucket with the specified name that has the specified key. - Throws:
IOException
- if some I/O error occurred on the local filesystem while writing to file.
-
-