To help align the configuration properties across the Alfresco connectors (in particular between the S3 Connector and the Azure Connector), a number of new properties have been introduced, with the final purpose of replacing their older equivalents in time.
| New property | Defaults to old property |
| connector.s3.maxErrorRetries | ${s3.maxErrorRetries} |
| connector.s3.httpRequestTimeout | ${s3.httpRequestTimeout} |
| connector.s3.abortIncompleteMultipartUploadDays | ${s3.abortIncompleteMultipartUploadDays} |
| connector.s3.bucketName | ${s3.bucketName} |
| connector.s3.bucketRegion | ${s3.bucketLocation} |
| connector.s3.endpoint | ${s3.endpoint} |
| connector.s3.accessKey | ${s3.accessKey} |
| connector.s3.secretKey | ${s3.secretKey} |
| connector.s3.encryption | ${s3.encryption} |
| connector.s3.awsKmsKeyId | ${s3.awsKmsKeyId} |
Note
The new configuration properties default to the equivalent older properties (i.e. properties without the "connector.*" prefix). This ensures that upgrades of the S3 Connector will not require configuration updates. However, it is recommended that you use the newer properties.
Until now, the S3 Connector would override and use dir.contentstore and dir.contentstore.deleted properties defined in the repository.properties file in Alfresco Content Services (for fileContentStore and deletedContentStore).
Starting from version 3.1, the S3 Connector provides out-of-the-box content store subsystems. The subsystem approach allows a more flexible use of the S3 content store, even in conjunction with existing content stores.
Note
In this case, we should not override the properties mentioned in the deprecated and superseded sections with S3 specific values. Instead, new properties have been introduced to be used only by the S3 Connector:
-
dir.s3.contentstore- defaults tocontentstore -
dir.s3.contentstore.deleted- defaults tocontentstore.deleted -
dir.s3.contentstoreDirectory name used within the S3 bucket for the contentstore. The default is
contentstore. -
dir.s3.contentstore.deletedDirectory name used within the S3 bucket for the deleted contentstore. The default is
contentstore.deleted. -
connector.s3.bucketNameThe bucket name must be unique among all AWS users globally. If the bucket does not already exist, it will be created, but the name must not have already been taken by another user. If the bucket has an error, it will be reported in the
alfresco.logfile. -
connector.s3.bucketRegionThe location where the new S3 bucket should be created if it doesn't exist.
For a list of available AWS Regions, see Regions and Endpoints in the AWS General Reference. The default region is US East (N. Virginia) - i.e.
us-east-1. -
connector.s3.endpointThis is blank by default, but it can be used to add a custom endpoint, for example
connector.s3.endpoint=s3.us-gov-west-1.amazonaws.com. -
connector.s3.maxErrorRetriesThe maximum number of attempts to retry reads or writes to the S3 bucket in case of failed transfers. The default is
3.This configuration uses throttling retries. See Retry Throttling for more details.
-
connector.s3.abortIncompleteMultipartUploadDaysThe minimum number of days that AWS S3 should keep the incomplete multipart upload parts before marking them for deletion. If the value is
0then the abort is disabled. The default is1.If the bucket (identified by the value of
connector.s3.bucketName) doesn't already exist, then we create the bucket and a global lifecycle rule to enforce the abort and deletion of incomplete uploads after the specified number of days. When an object reaches the end of its lifetime, Amazon S3 queues it for removal and removes it asynchronously.Note
There may be a delay between the expiration date and the date on which AWS S3 removes an object.
-
connector.s3.encryptionEncryption to be applied for content stored in AWS S3. Two options are supported for managing encryption keys: AES256 and KMS. The default value on installation is
AES256. -
connector.s3.awsKmsKeyIdIndicates the key alias or ARN to be used for KMS encryption.
For more details see create a key using KMS key material origin or by importing key material in AWS Key Management Service.
If no value is provided, the default master key attached to your account is used. See Protecting Data Using Server-Side Encryption with AWS KMS-Managed Keys (SSE-KMS).
-
connector.s3.accessKeyRequired to identify the AWS account and can be obtained from the AWS Management Console. See AWS Credentials for access details. This property is not required if you plan to use IAM roles.
-
connector.s3.secretKeyRequired to identify the AWS account and can be obtained from the AWS Management Console. See AWS Credentials for access details. This property is not required if you plan to use IAM roles.