|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.duracloud.storage.provider.StorageProviderBase
org.duracloud.s3storage.S3StorageProvider
public class S3StorageProvider
Provides content storage backed by Amazon's Simple Storage Service.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.duracloud.storage.provider.StorageProvider |
---|
StorageProvider.AccessType |
Field Summary | |
---|---|
protected static int |
MAX_ITEM_COUNT
|
Fields inherited from interface org.duracloud.storage.provider.StorageProvider |
---|
CONTENT_METADATA_SUFFIX, DEFAULT_MAX_RESULTS, DEFAULT_MIMETYPE, HTTP_NOT_FOUND, METADATA_CONTENT_CHECKSUM, METADATA_CONTENT_MD5, METADATA_CONTENT_MIMETYPE, METADATA_CONTENT_MODIFIED, METADATA_CONTENT_SIZE, METADATA_SPACE_ACCESS, METADATA_SPACE_COUNT, METADATA_SPACE_CREATED, METADATA_SPACE_SIZE, RFC822_DATE_FORMAT, SPACE_METADATA_SUFFIX |
Constructor Summary | |
---|---|
S3StorageProvider(com.amazonaws.services.s3.AmazonS3Client s3Client,
java.lang.String accessKey)
|
|
S3StorageProvider(java.lang.String accessKey,
java.lang.String secretKey)
|
Method Summary | |
---|---|
java.lang.String |
addContent(java.lang.String spaceId,
java.lang.String contentId,
java.lang.String contentMimeType,
long contentSize,
java.lang.String contentChecksum,
java.io.InputStream content)
Adds content to a space. |
void |
createSpace(java.lang.String spaceId)
Creates a new space. |
void |
deleteContent(java.lang.String spaceId,
java.lang.String contentId)
Removes content from a space. |
void |
deleteSpace(java.lang.String spaceId)
Deletes a space. |
java.lang.String |
getBucketName(java.lang.String spaceId)
Converts a DuraCloud spaceId into its corresponding Amazon S3 bucket name |
java.io.InputStream |
getContent(java.lang.String spaceId,
java.lang.String contentId)
Gets content from a space. |
java.util.Map<java.lang.String,java.lang.String> |
getContentMetadata(java.lang.String spaceId,
java.lang.String contentId)
Retrieves the metadata associated with content. |
protected java.lang.String |
getETagValue(java.lang.String etag)
|
java.util.Iterator<java.lang.String> |
getSpaceContents(java.lang.String spaceId,
java.lang.String prefix)
Provides access to the content files within a space. |
java.util.List<java.lang.String> |
getSpaceContentsChunked(java.lang.String spaceId,
java.lang.String prefix,
long maxResults,
java.lang.String marker)
Provides a listing of the content files within a space. |
protected java.lang.String |
getSpaceCount(java.lang.String spaceId,
int maxCount)
|
protected java.lang.String |
getSpaceId(java.lang.String bucketName)
Converts a bucket name into what could be passed in as a space ID. |
java.util.Map<java.lang.String,java.lang.String> |
getSpaceMetadata(java.lang.String spaceId)
Retrieves the metadata associated with a space. |
java.util.Iterator<java.lang.String> |
getSpaces()
Provides a listing of all spaces owned by a customer. |
protected boolean |
isSpace(java.lang.String bucketName)
Determines if an S3 bucket is a DuraCloud space |
void |
setContentMetadata(java.lang.String spaceId,
java.lang.String contentId,
java.util.Map<java.lang.String,java.lang.String> contentMetadata)
Sets the metadata associated with content. |
void |
setSpaceMetadata(java.lang.String spaceId,
java.util.Map<java.lang.String,java.lang.String> spaceMetadata)
Sets the metadata associated with a space. |
protected void |
throwIfSpaceNotExist(java.lang.String spaceId)
|
Methods inherited from class org.duracloud.storage.provider.StorageProviderBase |
---|
getSpaceAccess, setSpaceAccess |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int MAX_ITEM_COUNT
Constructor Detail |
---|
public S3StorageProvider(java.lang.String accessKey, java.lang.String secretKey)
public S3StorageProvider(com.amazonaws.services.s3.AmazonS3Client s3Client, java.lang.String accessKey)
Method Detail |
---|
public java.util.Iterator<java.lang.String> getSpaces()
public java.util.Iterator<java.lang.String> getSpaceContents(java.lang.String spaceId, java.lang.String prefix)
spaceId
- - ID of the spaceprefix
- - The prefix of the content id (null for no constraints)
public java.util.List<java.lang.String> getSpaceContentsChunked(java.lang.String spaceId, java.lang.String prefix, long maxResults, java.lang.String marker)
spaceId
- - ID of the spaceprefix
- - Only retrieve content IDs with this prefix (null for all content ids)maxResults
- - The maximum number of content IDs to return in the list (0 indicates default (1000))marker
- - The content ID marking the last item in the previous set (null indicates the first set of ids)
protected void throwIfSpaceNotExist(java.lang.String spaceId)
throwIfSpaceNotExist
in class StorageProviderBase
public void createSpace(java.lang.String spaceId)
spaceId
- - ID of the spacepublic void deleteSpace(java.lang.String spaceId)
spaceId
- - ID of the spacepublic java.util.Map<java.lang.String,java.lang.String> getSpaceMetadata(java.lang.String spaceId)
spaceId
- - ID of the space
protected java.lang.String getSpaceCount(java.lang.String spaceId, int maxCount)
public void setSpaceMetadata(java.lang.String spaceId, java.util.Map<java.lang.String,java.lang.String> spaceMetadata)
spaceId
- - ID of the spacespaceMetadata
- - Updated space metadatapublic java.lang.String addContent(java.lang.String spaceId, java.lang.String contentId, java.lang.String contentMimeType, long contentSize, java.lang.String contentChecksum, java.io.InputStream content)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacecontentMimeType
- - the MIME type of the content being addedcontentSize
- - the file size (in bytes) of the content being addedcontentChecksum
- - the MD5 checksum of the content being added (null if no checksum is known)content
- - content to add
public java.io.InputStream getContent(java.lang.String spaceId, java.lang.String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the space
public void deleteContent(java.lang.String spaceId, java.lang.String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacepublic void setContentMetadata(java.lang.String spaceId, java.lang.String contentId, java.util.Map<java.lang.String,java.lang.String> contentMetadata)
spaceId
- - ID of the spacecontentId
- - ID of the content in the spacecontentMetadata
- - new content metadatapublic java.util.Map<java.lang.String,java.lang.String> getContentMetadata(java.lang.String spaceId, java.lang.String contentId)
spaceId
- - ID of the spacecontentId
- - ID of the content in the space
protected java.lang.String getETagValue(java.lang.String etag)
public java.lang.String getBucketName(java.lang.String spaceId)
spaceId
- the space Id to convert into an S3 bucket name
protected java.lang.String getSpaceId(java.lang.String bucketName)
bucketName
- name of the S3 bucket
protected boolean isSpace(java.lang.String bucketName)
bucketName
- name of the S3 bucket
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |