@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 |
---|---|
software.amazon.awssdk.services.s3.model.DeleteObjectResponse |
delete(java.lang.String key)
Deletes an object from 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.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)
ObjectStorageOperations
upload
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)
ObjectStorageOperations
upload
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)
ObjectStorageOperations
retrieve
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)
ObjectStorageOperations
delete
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 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
.