These steps describe how to add a new S3 store starting from the S3MultipleBuckets subsystem sample.
-
Locate the file
s3-mb-contentstore-context.xmlin folder:$CATALINA_HOME/shared/classes/alfresco/extension/subsystems/ContentStore/S3MultipleBuckets/S3MultipleBuckets -
Duplicate the Store 2 section, and replace
store2.withstore3.<bean id="store2.s3Adapter" class="org.alfresco.integrations.connector.AmazonS3ServiceAdapter" init-method="init"> <property name="accessKey" value="${connector.s3.store2.accessKey}" /> <property name="secretKey" value="${connector.s3.store2.secretKey}" /> <property name="bucketName" value="${connector.s3.store2.bucketName}" /> <property name="bucketRegion" value="${connector.s3.store2.bucketRegion}" /> <property name="encryption" value="${connector.s3.store2.encryption}" /> <property name="abortIncompleteMultipartUploadDays" value="${connector.s3.store2.abortIncompleteMultipartUploadDays}" /> <property name="autoLowerCaseBucketName" value="${s3.store2.autoLowerCaseBucketName}" /> <property name="awsKmsKeyId" value="${connector.s3.store2.awsKmsKeyId}" /> <property name="endpoint" value="${connector.s3.store2.endpoint}" /> <property name="clientConfiguration" ref="s3ClientConfiguration"/> <property name="tagName" value="${connector.s3.store2.tagName}" /> <property name="tagValue" value="${connector.s3.store2.tagValue}" /> </bean> <bean id="store2.s3ContentStore" class="org.alfresco.integrations.connector.TenantS3ContentStore" depends-on="store2.s3Adapter"> <property name="useTenantDomainInPath" value="${s3.store2.useTenantDomainInPath}" /> <property name="contentRoot" value="${dir.s3.contentstore}" /> <property name="serviceAdapter" ref="store2.s3Adapter"/> <property name="nodeService" ref="nodeService" /> <property name="defaultRootDir" value="${dir.s3.contentstore}" /> <!-- Force the contentStore to use the prefix, otherwise the files would end up in the root of bucket --> <property name="useContentRootInPath" value="${s3.store2.useContentRootInPath}"/> <property name="objNameSuffix" value="${connector.s3.store2.objectNameSuffix}" /> <property name="objNamePrefix" value="${connector.s3.store2.objectNamePrefix}" /> <property name="storeProtocol" value="${connector.s3.store2.storeProtocol}"/> <!-- if true put all files into tenant root folder ! --> <property name="flatRoot" value="${s3.flatRoot}" /> </bean> -
Add the new store to the Store Selector Content Store.
For example:
<entry key="s3ContentStore3"> <ref bean="store3.s3ContentStore"/> </entry> -
Locate the file
s3-mb-contentstore.propertiesin folder:$CATALINA_HOME/shared/classes/alfresco/extension/subsystems/ContentStore/S3MultipleBuckets/S3MultipleBuckets -
Duplicate the Store 2 section, and replace the content as described in the sub-steps below:
connector.s3.store2.accessKey=${connector.s3.accessKey} connector.s3.store2.secretKey=${connector.s3.secretKey} connector.s3.store2.bucketName= connector.s3.store2.bucketRegion= connector.s3.store2.encryption=${connector.s3.encryption} connector.s3.store2.awsKmsKeyId= connector.s3.store2.endpoint= connector.s3.store2.abortIncompleteMultipartUploadDays=${connector.s3.abortIncompleteMultipartUploadDays} s3.store2.autoLowerCaseBucketName=${s3.autoLowerCaseBucketName} s3.store2.useTenantDomainInPath=${s3.useTenantDomainInPath} s3.store2.useContentRootInPath=${s3.useContentRootInPath} connector.s3.store2.objectNamePrefix= connector.s3.store2.objectNameSuffix= connector.s3.store2.storeProtocol=s3v2 connector.s3.store2.tagName= connector.s3.store2.tagValue=-
Replace
connector.s3.store2withconnector.s3.store3. -
Replace
s3.store2withs3.store3.
-