Interface MultipartObjectStorageOperations<C,U,R>
- Type Parameters:
C- Cloud vendor-specific create multipart upload responseU- Cloud vendor-specific upload part responseR- Cloud vendor-specific complete multipart upload response
- All Known Implementing Classes:
AwsS3Operations, OracleCloudStorageOperations
public interface MultipartObjectStorageOperations<C,U,R>
Portable multipart upload lifecycle operations.
This contract is additive to ObjectStorageOperations. Providers may implement it
independently without affecting existing single-object upload consumers.
Multipart upload handles are caller-owned resources until they are completed or aborted. Implementations must treat repeated abort requests as safe. Completing an upload requires an ordered part manifest, and retries are only safe when the same upload id and exact manifest are reused.
- Since:
- 3.1.0
-
Method Summary
Modifier and TypeMethodDescriptionvoidabortMultipartUpload(@NonNull AbortMultipartUploadRequest request) Aborts an in-progress multipart upload.@NonNull CompleteMultipartUploadResponse<R> completeMultipartUpload(@NonNull CompleteMultipartUploadRequest request) Completes a multipart upload using the provided ordered part manifest.@NonNull CreateMultipartUploadResponse<C> createMultipartUpload(@NonNull CreateMultipartUploadRequest request) Creates a new multipart upload and returns the opaque upload handle.@NonNull ListMultipartPartsResponselistParts(@NonNull ListMultipartPartsRequest request) Lists uploaded parts for an in-progress multipart upload.@NonNull UploadPartResponse<U> uploadPart(@NonNull UploadPartRequest request) Uploads a single part for an existing multipart upload.
-
Method Details
-
createMultipartUpload
@NonNull CreateMultipartUploadResponse<C> createMultipartUpload(@NonNull CreateMultipartUploadRequest request) Creates a new multipart upload and returns the opaque upload handle.- Parameters:
request- the create request- Returns:
- the multipart upload handle and native response
- Throws:
ObjectStorageException- if the multipart upload could not be created
-
uploadPart
Uploads a single part for an existing multipart upload.- Parameters:
request- the part upload request- Returns:
- the uploaded part metadata and native response
- Throws:
ObjectStorageException- if the part upload failed
-
listParts
Lists uploaded parts for an in-progress multipart upload.- Parameters:
request- the list request- Returns:
- the ordered parts in the current page and an optional continuation token
- Throws:
ObjectStorageException- if listing fails
-
completeMultipartUpload
@NonNull CompleteMultipartUploadResponse<R> completeMultipartUpload(@NonNull CompleteMultipartUploadRequest request) Completes a multipart upload using the provided ordered part manifest.- Parameters:
request- the complete request- Returns:
- the completed upload response and native response
- Throws:
ObjectStorageException- if completion fails
-
abortMultipartUpload
Aborts an in-progress multipart upload.This operation must be safe to retry.
- Parameters:
request- the abort request- Throws:
ObjectStorageException- if abort fails unexpectedly
-