Currently, the two other properties that can still affect the Alfresco Content URLs and the S3 paths are s3.useTenantDomainInPath and s3.flatRoot.
Assuming:
- connector.s3.objectNamePrefix=foo/
- connector.s3.objectNameSuffix=.bar
- connector.s3.storeProtocol=s3v2
we have the following situations:
| s3.useTenantDomainInPath | s3.flatRoot | Alfresco ContentURL (DB) | S3 path |
|---|---|---|---|
| false | true | s3v2://{uuid}.bin | foo/{uuid}.bin.bar |
| true | true | s3v2://{tenant}/{uuid}.bin | foo/{tenant}/{uuid}.bin.bar |
| false | false | s3v2://{year}/{month}/{day}/{hour}/{minute}/{uuid}.bin | foo/{year}/{month}/{day}/{hour}/{minute}/{uuid}.bin.bar |
| true | false | s3v2://{tenant}/{year}/{month}/{day}/{hour}/{minute}/{uuid}.bin | foo/{tenant}/{year}/{month}/{day}/{hour}/{minute}/{uuid}.bin.bar |
The s3.flatRoot property is currently evaluated by all types of S3 Content Stores (including the DeletedS3ContentStore).
The s3.useTenantDomainInPath is only evaluated by instances/beans of type TenantS3ContentStore (S3ContentStore subclass). The S3ContentStore configured in the default S3 Connector Spring configuration is of type TenantS3ContentStore, and supports this property (although the property itself is configured as false by default).