@InterfaceStability.Unstable public interface BlobStoreManager
Modifier and Type | Method and Description |
---|---|
void |
close()
Cleanly close resources like blob store client
|
java.util.concurrent.CompletionStage<java.lang.Void> |
delete(java.lang.String id,
Metadata metadata)
Non-blocking call to mark a blob for deletion in the remote blob store
|
java.util.concurrent.CompletionStage<java.lang.Void> |
get(java.lang.String id,
java.io.OutputStream outputStream,
Metadata metadata)
Non-blocking GET call to remote blob store
|
void |
init()
Initialize underlying blob store client, if necessary.
|
java.util.concurrent.CompletionStage<java.lang.String> |
put(java.io.InputStream inputStream,
Metadata metadata)
Non-blocking PUT call to remote blob store with supplied metadata
|
java.util.concurrent.CompletionStage<java.lang.Void> |
removeTTL(java.lang.String blobId,
Metadata metadata)
Non-blocking call to remove the Time-To-Live (TTL) for a blob and make it permanent.
|
void init()
java.util.concurrent.CompletionStage<java.lang.String> put(java.io.InputStream inputStream, Metadata metadata)
inputStream
- InputStream to read the filemetadata
- user supplied Metadata
of the requestjava.util.concurrent.CompletionStage<java.lang.Void> get(java.lang.String id, java.io.OutputStream outputStream, Metadata metadata)
id
- Blob ID of the blob to getoutputStream
- OutputStream to write the downloaded blobmetadata
- User supplied Metadata
of the requestDeletedException
- returned future should complete
exceptionally with DeletedException on failure with the blob already deleted error.java.util.concurrent.CompletionStage<java.lang.Void> delete(java.lang.String id, Metadata metadata)
id
- Blob ID of the blob to deletemetadata
- User supplied Metadata
of the requestDeletedException
- returned future should complete
exceptionally with DeletedException on failure with the blob already deleted error. This exception is
caught and ignored by the caller of the delete method during initial cleanup and SnapshotIndex read.java.util.concurrent.CompletionStage<java.lang.Void> removeTTL(java.lang.String blobId, Metadata metadata)
blobId
- Blob ID of blob to remove TTL for.metadata
- User supplied Metadata
of the requestDeletedException
- returned future should complete
exceptionally with DeletedException on failure with the blob already deleted error.void close()