Package org.nuxeo.ecm.blob.s3
Class S3BlobStoreConfiguration
- java.lang.Object
-
- org.nuxeo.ecm.core.blob.PropertyBasedConfiguration
-
- org.nuxeo.ecm.core.blob.AbstractBlobStoreConfiguration
-
- org.nuxeo.ecm.blob.CloudBlobStoreConfiguration
-
- org.nuxeo.ecm.blob.s3.S3BlobStoreConfiguration
-
public class S3BlobStoreConfiguration extends CloudBlobStoreConfiguration
Blob storage configuration in S3.- Since:
- 11.1
-
-
Field Summary
Fields Modifier and Type Field Description static String
ACCELERATE_MODE_PROPERTY
com.amazonaws.services.s3.AmazonS3
amazonS3
static String
AWS_ID_PROPERTY
static String
AWS_SECRET_PROPERTY
static String
AWS_SESSION_TOKEN_PROPERTY
static String
BUCKET_NAME_PROPERTY
static String
BUCKET_PREFIX_PROPERTY
static String
BUCKET_REGION_PROPERTY
String
bucketName
String
bucketPrefix
com.amazonaws.services.s3.model.ObjectLockRetentionMode
bucketRetentionMode
The retention mode with which the bucket is configured.CloudFrontConfiguration
cloudFront
static String
CONNECTION_MAX_PROPERTY
AWS ClientConfiguration default 50static String
CONNECTION_RETRY_PROPERTY
AWS ClientConfiguration default 3 (with exponential backoff)static String
CONNECTION_TIMEOUT_PROPERTY
AWS ClientConfiguration default 50*1000 = 50sstatic com.amazonaws.services.s3.model.ObjectLockRetentionMode
DEFAULT_RETENTION_MODE
static String
DELIMITER
static String
DIRECTDOWNLOAD_EXPIRE_PROPERTY_COMPAT
static String
DIRECTDOWNLOAD_PROPERTY_COMPAT
static String
DISABLE_PROXY_PROPERTY
Framework property to disable usage of the proxy environment variables (nuxeo.http.proxy.*
) for the connection to the S3 endpoint.static String
ENDPOINT_PROPERTY
static String
KEYSTORE_FILE_PROPERTY
static String
KEYSTORE_PASS_PROPERTY
static String
METADATA_ADD_USERNAME_PROPERTY
boolean
metadataAddUsername
static String
MULTIPART_CLEANUP_DISABLED_PROPERTY
Disable automatic abort of old multipart uploads at startup time.static String
MULTIPART_COPY_PART_SIZE_PROPERTY
The configuration property to define the multipart copy part size.static String
PATHSTYLEACCESS_PROPERTY
static String
PRIVKEY_ALIAS_PROPERTY
static String
PRIVKEY_PASS_PROPERTY
com.amazonaws.services.s3.model.ObjectLockRetentionMode
retentionMode
The retention mode to use when setting the retention on an object.static String
SERVERSIDE_ENCRYPTION_KMS_KEY_PROPERTY
static String
SERVERSIDE_ENCRYPTION_PROPERTY
String
serverSideKMSKeyID
static String
SOCKET_TIMEOUT_PROPERTY
AWS ClientConfiguration default 50*1000 = 50sstatic String
SYSTEM_PROPERTY_PREFIX
com.amazonaws.services.s3.transfer.TransferManager
transferManager
boolean
useClientSideEncryption
boolean
useServerSideEncryption
-
Fields inherited from class org.nuxeo.ecm.blob.CloudBlobStoreConfiguration
cachingConfiguration, DEFAULT_DIRECTDOWNLOAD, DEFAULT_DIRECTDOWNLOAD_EXPIRE, DIGEST_ALGORITHM_PROPERTY, digestConfiguration, directDownload, DIRECTDOWNLOAD_EXPIRE_PROPERTY, DIRECTDOWNLOAD_PROPERTY, directDownloadExpire
-
Fields inherited from class org.nuxeo.ecm.core.blob.AbstractBlobStoreConfiguration
namespace
-
Fields inherited from class org.nuxeo.ecm.core.blob.PropertyBasedConfiguration
properties, systemPropertyPrefix
-
-
Constructor Summary
Constructors Constructor Description S3BlobStoreConfiguration(Map<String,String> properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
abortOldMultipartUploadsInternal()
protected void
abortOldUploads()
Aborts uploads that crashed and are older than 1 day.void
close()
protected com.amazonaws.services.s3.model.ObjectLockRetentionMode
computeBucketRetentionMode()
protected void
configureAccelerateMode(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
protected void
configurePathStyleAccess(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
protected void
configureRegionOrEndpoint(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
protected com.amazonaws.services.s3.transfer.TransferManager
createTransferManager()
protected com.amazonaws.services.s3.AmazonS3
getAmazonS3(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
protected com.amazonaws.auth.AWSCredentialsProvider
getAWSCredentialsProvider()
protected String
getBucketName()
protected String
getBucketPrefix()
protected com.amazonaws.ClientConfiguration
getClientConfiguration()
protected com.amazonaws.services.s3.model.EncryptionMaterials
getEncryptionMaterials()
protected com.amazonaws.services.s3.model.ObjectLockRetentionMode
getRetentionMode()
Deprecated.since 11.4, unusedprotected boolean
parseDirectDownload()
protected long
parseDirectDownloadExpire()
S3BlobStoreConfiguration
withNamespace(String ns)
Returns a copy of the S3BlobStoreConfiguration with a different namespace.-
Methods inherited from class org.nuxeo.ecm.core.blob.AbstractBlobStoreConfiguration
propertiesWithNamespace
-
Methods inherited from class org.nuxeo.ecm.core.blob.PropertyBasedConfiguration
getBooleanProperty, getIntProperty, getLongProperty, getProperty, getProperty
-
-
-
-
Field Detail
-
SYSTEM_PROPERTY_PREFIX
public static final String SYSTEM_PROPERTY_PREFIX
- See Also:
- Constant Field Values
-
BUCKET_NAME_PROPERTY
public static final String BUCKET_NAME_PROPERTY
- See Also:
- Constant Field Values
-
BUCKET_PREFIX_PROPERTY
public static final String BUCKET_PREFIX_PROPERTY
- See Also:
- Constant Field Values
-
BUCKET_REGION_PROPERTY
public static final String BUCKET_REGION_PROPERTY
- See Also:
- Constant Field Values
-
AWS_ID_PROPERTY
public static final String AWS_ID_PROPERTY
- See Also:
- Constant Field Values
-
AWS_SECRET_PROPERTY
public static final String AWS_SECRET_PROPERTY
- See Also:
- Constant Field Values
-
AWS_SESSION_TOKEN_PROPERTY
public static final String AWS_SESSION_TOKEN_PROPERTY
- See Also:
- Constant Field Values
-
CONNECTION_MAX_PROPERTY
public static final String CONNECTION_MAX_PROPERTY
AWS ClientConfiguration default 50- See Also:
- Constant Field Values
-
CONNECTION_RETRY_PROPERTY
public static final String CONNECTION_RETRY_PROPERTY
AWS ClientConfiguration default 3 (with exponential backoff)- See Also:
- Constant Field Values
-
CONNECTION_TIMEOUT_PROPERTY
public static final String CONNECTION_TIMEOUT_PROPERTY
AWS ClientConfiguration default 50*1000 = 50s- See Also:
- Constant Field Values
-
SOCKET_TIMEOUT_PROPERTY
public static final String SOCKET_TIMEOUT_PROPERTY
AWS ClientConfiguration default 50*1000 = 50s- See Also:
- Constant Field Values
-
KEYSTORE_FILE_PROPERTY
public static final String KEYSTORE_FILE_PROPERTY
- See Also:
- Constant Field Values
-
KEYSTORE_PASS_PROPERTY
public static final String KEYSTORE_PASS_PROPERTY
- See Also:
- Constant Field Values
-
SERVERSIDE_ENCRYPTION_PROPERTY
public static final String SERVERSIDE_ENCRYPTION_PROPERTY
- See Also:
- Constant Field Values
-
SERVERSIDE_ENCRYPTION_KMS_KEY_PROPERTY
public static final String SERVERSIDE_ENCRYPTION_KMS_KEY_PROPERTY
- See Also:
- Constant Field Values
-
PRIVKEY_ALIAS_PROPERTY
public static final String PRIVKEY_ALIAS_PROPERTY
- See Also:
- Constant Field Values
-
PRIVKEY_PASS_PROPERTY
public static final String PRIVKEY_PASS_PROPERTY
- See Also:
- Constant Field Values
-
ENDPOINT_PROPERTY
public static final String ENDPOINT_PROPERTY
- See Also:
- Constant Field Values
-
PATHSTYLEACCESS_PROPERTY
public static final String PATHSTYLEACCESS_PROPERTY
- See Also:
- Constant Field Values
-
ACCELERATE_MODE_PROPERTY
public static final String ACCELERATE_MODE_PROPERTY
- See Also:
- Constant Field Values
-
DIRECTDOWNLOAD_PROPERTY_COMPAT
public static final String DIRECTDOWNLOAD_PROPERTY_COMPAT
- See Also:
- Constant Field Values
-
DIRECTDOWNLOAD_EXPIRE_PROPERTY_COMPAT
public static final String DIRECTDOWNLOAD_EXPIRE_PROPERTY_COMPAT
- See Also:
- Constant Field Values
-
METADATA_ADD_USERNAME_PROPERTY
public static final String METADATA_ADD_USERNAME_PROPERTY
- See Also:
- Constant Field Values
-
MULTIPART_CLEANUP_DISABLED_PROPERTY
public static final String MULTIPART_CLEANUP_DISABLED_PROPERTY
Disable automatic abort of old multipart uploads at startup time.- Since:
- 11.1
- See Also:
- Constant Field Values
-
DELIMITER
public static final String DELIMITER
- See Also:
- Constant Field Values
-
MULTIPART_COPY_PART_SIZE_PROPERTY
public static final String MULTIPART_COPY_PART_SIZE_PROPERTY
The configuration property to define the multipart copy part size.- See Also:
- Constant Field Values
-
DISABLE_PROXY_PROPERTY
public static final String DISABLE_PROXY_PROPERTY
Framework property to disable usage of the proxy environment variables (nuxeo.http.proxy.*
) for the connection to the S3 endpoint.- Since:
- 11.1
- See Also:
- Constant Field Values
-
DEFAULT_RETENTION_MODE
public static final com.amazonaws.services.s3.model.ObjectLockRetentionMode DEFAULT_RETENTION_MODE
-
cloudFront
public final CloudFrontConfiguration cloudFront
-
amazonS3
public final com.amazonaws.services.s3.AmazonS3 amazonS3
-
transferManager
public final com.amazonaws.services.s3.transfer.TransferManager transferManager
-
bucketName
public final String bucketName
-
bucketPrefix
public final String bucketPrefix
-
useServerSideEncryption
public final boolean useServerSideEncryption
-
serverSideKMSKeyID
public final String serverSideKMSKeyID
-
useClientSideEncryption
public final boolean useClientSideEncryption
-
metadataAddUsername
public final boolean metadataAddUsername
-
bucketRetentionMode
public final com.amazonaws.services.s3.model.ObjectLockRetentionMode bucketRetentionMode
The retention mode with which the bucket is configured.- Since:
- 11.4
-
retentionMode
public final com.amazonaws.services.s3.model.ObjectLockRetentionMode retentionMode
The retention mode to use when setting the retention on an object.
-
-
Constructor Detail
-
S3BlobStoreConfiguration
public S3BlobStoreConfiguration(Map<String,String> properties) throws IOException
- Throws:
IOException
-
-
Method Detail
-
withNamespace
public S3BlobStoreConfiguration withNamespace(String ns) throws IOException
Returns a copy of the S3BlobStoreConfiguration with a different namespace.- Throws:
IOException
-
close
public void close()
-
parseDirectDownload
protected boolean parseDirectDownload()
- Overrides:
parseDirectDownload
in classCloudBlobStoreConfiguration
-
parseDirectDownloadExpire
protected long parseDirectDownloadExpire()
- Overrides:
parseDirectDownloadExpire
in classCloudBlobStoreConfiguration
-
getBucketName
protected String getBucketName()
-
getBucketPrefix
protected String getBucketPrefix()
-
getAWSCredentialsProvider
protected com.amazonaws.auth.AWSCredentialsProvider getAWSCredentialsProvider()
-
getClientConfiguration
protected com.amazonaws.ClientConfiguration getClientConfiguration()
-
getEncryptionMaterials
protected com.amazonaws.services.s3.model.EncryptionMaterials getEncryptionMaterials()
-
configurePathStyleAccess
protected void configurePathStyleAccess(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
-
configureRegionOrEndpoint
protected void configureRegionOrEndpoint(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
-
configureAccelerateMode
protected void configureAccelerateMode(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
-
getAmazonS3
protected com.amazonaws.services.s3.AmazonS3 getAmazonS3(com.amazonaws.services.s3.AmazonS3Builder<?,?> s3Builder)
-
createTransferManager
protected com.amazonaws.services.s3.transfer.TransferManager createTransferManager()
-
getRetentionMode
@Deprecated protected com.amazonaws.services.s3.model.ObjectLockRetentionMode getRetentionMode()
Deprecated.since 11.4, unused
-
computeBucketRetentionMode
protected com.amazonaws.services.s3.model.ObjectLockRetentionMode computeBucketRetentionMode()
-
abortOldUploads
protected void abortOldUploads()
Aborts uploads that crashed and are older than 1 day.
-
abortOldMultipartUploadsInternal
protected void abortOldMultipartUploadsInternal()
-
-