Package io.jmix.awsfs
Class AwsFileStorage
java.lang.Object
io.jmix.awsfs.AwsFileStorage
- All Implemented Interfaces:
FileStorage
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
protected String
protected int
protected String
protected AwsFileStorageProperties
protected String
protected AtomicReference<software.amazon.awssdk.services.s3.S3Client>
protected String
protected String
protected TimeSource
protected boolean
-
Constructor Summary
ConstructorDescriptionAwsFileStorage
(String storageName) AwsFileStorage
(String storageName, String accessKey, String secretAccessKey, String region, String bucket, int chunkSize, String endpointUrl) Optional constructor that allows you to overrideAwsFileStorageProperties
. -
Method Summary
Modifier and TypeMethodDescriptionprotected String
protected String
createFileKey
(String fileName) protected String
createUuidFilename
(String fileName) boolean
fileExists
(FileRef reference) Tests whether the file denoted by this file reference exists.protected software.amazon.awssdk.core.sync.RequestBody
fromBytes
(byte[] buffer, int length) protected software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
Returns the name of this storage, which will be saved inFileRef
s.protected void
initS3Client
(org.springframework.boot.context.event.ApplicationStartedEvent event) openStream
(FileRef reference) Returns an input stream to load a file contents.protected void
void
void
removeFile
(FileRef reference) Removes a file from the file storage.saveStream
(String fileName, InputStream inputStream, Map<String, Object> parameters) Saves an InputStream contents into the file storage using additional parameters.void
setAccessKey
(String accessKey) void
void
setChunkSize
(int chunkSize) void
setEndpointUrl
(String endpointUrl) void
void
setSecretAccessKey
(String secretAccessKey) void
setUsePathStyleBucketAddressing
(boolean usePathStyleBucketAddressing) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.jmix.core.FileStorage
saveStream
-
Field Details
-
storageName
-
properties
-
accessKey
-
secretAccessKey
-
region
-
bucket
-
chunkSize
protected int chunkSize -
endpointUrl
-
usePathStyleBucketAddressing
protected boolean usePathStyleBucketAddressing -
timeSource
-
s3ClientReference
-
-
Constructor Details
-
AwsFileStorage
public AwsFileStorage() -
AwsFileStorage
-
AwsFileStorage
public AwsFileStorage(String storageName, String accessKey, String secretAccessKey, String region, String bucket, int chunkSize, @Nullable String endpointUrl) Optional constructor that allows you to overrideAwsFileStorageProperties
.
-
-
Method Details
-
initS3Client
@EventListener protected void initS3Client(org.springframework.boot.context.event.ApplicationStartedEvent event) -
refreshProperties
protected void refreshProperties() -
getAwsCredentialsProvider
protected software.amazon.awssdk.auth.credentials.AwsCredentialsProvider getAwsCredentialsProvider() -
refreshS3Client
public void refreshS3Client() -
getStorageName
Description copied from interface:FileStorage
Returns the name of this storage, which will be saved inFileRef
s.Each file storage in the application should have a unique name.
- Specified by:
getStorageName
in interfaceFileStorage
-
createFileKey
-
createDateDir
-
createUuidFilename
-
saveStream
Description copied from interface:FileStorage
Saves an InputStream contents into the file storage using additional parameters.- Specified by:
saveStream
in interfaceFileStorage
- Parameters:
fileName
- file nameinputStream
- input stream, must be closed in the calling codeparameters
- additional parameters that can be used in specific storage implementation (for example, can be converted to FileRef parameters)- Returns:
- file reference
-
fromBytes
protected software.amazon.awssdk.core.sync.RequestBody fromBytes(byte[] buffer, int length) -
openStream
Description copied from interface:FileStorage
Returns an input stream to load a file contents.- Specified by:
openStream
in interfaceFileStorage
- Parameters:
reference
- file reference- Returns:
- input stream, must be closed after use
-
removeFile
Description copied from interface:FileStorage
Removes a file from the file storage.- Specified by:
removeFile
in interfaceFileStorage
- Parameters:
reference
- file reference
-
fileExists
Description copied from interface:FileStorage
Tests whether the file denoted by this file reference exists.- Specified by:
fileExists
in interfaceFileStorage
- Parameters:
reference
- file reference- Returns:
- true if the file denoted by this file reference exists
-
setAccessKey
-
setSecretAccessKey
-
setRegion
-
setBucket
-
setChunkSize
public void setChunkSize(int chunkSize) -
setEndpointUrl
-
setUsePathStyleBucketAddressing
public void setUsePathStyleBucketAddressing(boolean usePathStyleBucketAddressing)
-