Package thredds.crawlabledataset.s3
Interface ThreddsS3Client
-
- All Known Implementing Classes:
CachingThreddsS3Client
,ThreddsS3ClientImpl
public interface ThreddsS3Client
Provides an interface for accessing the Amazon S3 web service. It is a basic version of theAmazonS3
interface that is much simpler to use from within THREDDS.- Since:
- 2015/08/26
-
-
Method Summary
All Methods Instance Methods Abstract 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
com.amazonaws.services.s3.model.ObjectMetadata getObjectMetadata(S3URI s3uri)
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.- 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
com.amazonaws.services.s3.model.ObjectListing listObjects(S3URI s3uri)
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.
- 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
File saveObjectToFile(S3URI s3uri, File file) throws IOException
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.- 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.
-
-