@EachBean(value=AwsS3Configuration.class) public class AwsS3Operations extends java.lang.Object implements ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>
ObjectStorageOperations.| Constructor and Description |
|---|
AwsS3Operations(AwsS3Configuration configuration,
software.amazon.awssdk.services.s3.S3Client s3Client,
InputStreamMapper inputStreamMapper) |
| Modifier and Type | Method and Description |
|---|---|
void |
copy(java.lang.String sourceKey,
java.lang.String destinationKey)
Copies an object stored at
sourceKey to destinationKey, within the
same object storage (bucket/container). |
software.amazon.awssdk.services.s3.model.DeleteObjectResponse |
delete(java.lang.String key)
Deletes an object from the object storage.
|
boolean |
exists(java.lang.String key)
Checks whether an entry with the given key exists in the object storage.
|
protected software.amazon.awssdk.core.sync.RequestBody |
getRequestBody(UploadRequest uploadRequest) |
protected software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder |
getRequestBuilder(UploadRequest request) |
java.util.Set<java.lang.String> |
listObjects()
Lists the objects that exist in the object storage.
|
java.util.Optional<AwsS3ObjectStorageEntry> |
retrieve(java.lang.String key)
Gets the object from object storage.
|
UploadResponse<software.amazon.awssdk.services.s3.model.PutObjectResponse> |
upload(UploadRequest uploadRequest)
Uploads an object to the object storage.
|
UploadResponse<software.amazon.awssdk.services.s3.model.PutObjectResponse> |
upload(UploadRequest request,
java.util.function.Consumer<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder> requestConsumer)
Uploads an object to the object storage.
|
public AwsS3Operations(@Parameter
AwsS3Configuration configuration,
software.amazon.awssdk.services.s3.S3Client s3Client,
InputStreamMapper inputStreamMapper)
configuration - AWS S3 Configurations3Client - S3 ClientinputStreamMapper - InputStream Mapper@NonNull public UploadResponse<software.amazon.awssdk.services.s3.model.PutObjectResponse> upload(@NonNull UploadRequest uploadRequest)
ObjectStorageOperationsupload in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>uploadRequest - the upload request@NonNull public UploadResponse<software.amazon.awssdk.services.s3.model.PutObjectResponse> upload(@NonNull UploadRequest request, @NonNull java.util.function.Consumer<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder> requestConsumer)
ObjectStorageOperationsupload in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>request - the upload requestrequestConsumer - Upload request builder consumer@NonNull public java.util.Optional<AwsS3ObjectStorageEntry> retrieve(@NonNull java.lang.String key)
ObjectStorageOperationsretrieve in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>key - the object path in the format /foo/bar/file@NonNull
public software.amazon.awssdk.services.s3.model.DeleteObjectResponse delete(@NonNull
java.lang.String key)
ObjectStorageOperationsdelete in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>key - object path in the format /foo/bar/filepublic boolean exists(@NonNull
java.lang.String key)
ObjectStorageOperationsexists in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>key - object path in the format /foo/bar/file@NonNull public java.util.Set<java.lang.String> listObjects()
ObjectStorageOperationslistObjects in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>public void copy(@NonNull
java.lang.String sourceKey,
@NonNull
java.lang.String destinationKey)
ObjectStorageOperationssourceKey to destinationKey, within the
same object storage (bucket/container). If the destination exists, it will be overwritten.copy in interface ObjectStorageOperations<software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder,software.amazon.awssdk.services.s3.model.PutObjectResponse,software.amazon.awssdk.services.s3.model.DeleteObjectResponse>sourceKey - the key of the source objectdestinationKey - the key of the destination object@NonNull
protected software.amazon.awssdk.services.s3.model.PutObjectRequest.Builder getRequestBuilder(@NonNull
UploadRequest request)
request - the upload requestPutObjectRequest.Builder from a Micronaut's UploadRequest.@NonNull
protected software.amazon.awssdk.core.sync.RequestBody getRequestBody(@NonNull
UploadRequest uploadRequest)
uploadRequest - the upload requestRequestBody from a Micronaut's UploadRequest.