Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AWS libraries for AWS SDK S3 connector configs not resolved in AEM as a cloud instance

Avatar

Level 4

AEM TO S3 Blocker Case ->

 

  1. AWS libraries for S3 connector configs not resolved in AEM as a cloud service instance

 

Environment – AEM As a cloud service

 

Issue –

 

Dependency not resolved –

 

kiranparab_1-1624949991336.png

 

We are using the AEM as a cloud service environment and we are finding issues in using the AWS SDK libraries using as a maven dependencies. We found the way to update the couple of configurations in AEM quickstart folder which is not possible in AEM as cloud service straight forward as we don't have access to unix box to update the same. Developer console also give access for Felix configs.

 

       Approach 1

 

       References -

       Configuring node stores and data stores in AEM 6 | Adobe Experience Manager

   

 

kiranparab_2-1624949991360.png

 

Failed as we are looking for system configs to get added and as per suggestion from Adobe Added the same configs in Runmode but this doesn’t support the technical usecase.

 

 

Approach 2

 

Reference –

AEM Project Structure | Adobe Experience Manager

 

kiranparab_3-1624949991394.png

 

Failed as AEM as a cloud service won’t allow to install any package under /libs as it is only having read access and needs to be build this package through bundle.

             

 

Approach 3

ZIP building for project codebase and deploy as a package in direct instance as Approach 2 failed.

 

Reference –

AEM Project Structure | Adobe Experience Manager

 

kiranparab_4-1624949991410.png

 

Failed as AEM as a cloud service won’t allow to install any package under /apps as it is only having read access and needs to be build this package through bundle.

 

 

Approach 4

ZIP building from project codebase as Approach 2 and 3 failed.

 

 

Reference –

  1. AEM Cloud Connector Installation and Configuration – Smartling Help Center

 

  1. Maven Repository: com.amazonaws » aws-java-sdk-s3 (mvnrepository.com)

 

 

kiranparab_5-1624949991431.png

 

kiranparab_6-1624949991443.png

 

This will allow to add S3 connector zip from project bundle as per given reference. But that way of implementation also didn’t work as it is giving same error as,

 

 

14:00:46,076 [main] [ERROR] Error resolving dependencies for project com.pacificlifeinsurancecompanydam:aem-pacificlifeinsurancecompanydam-project.all

14:00:46,077 [main] [ERROR] Failed to collect dependencies at com.adobe.granite:com.adobe.granite.oak.s3connector:zip:1.10.10

 

 

Failed as a given reference of updating embedded packages for Vendor packagesof s3connector, adding s3 dependencies and <allowIndexDefinitions>true</allowIndexDefinitions> still not worked.

 

 

Approach 5

Creating the non-osgi aws-java-sdk-osgi bundle to osgi compatible manner. Added the dependencies also still didn't work.

 

kiranparab_7-1624949991454.png

 

 

Failed as loads of dependencies not resolved with the osgi package in felix.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

@kiranparab  - Trying to understand your use case, are you trying to create a S3 nodestore or want to programmatically connect with S3 to upload some files?

In former case, since the entire infrastructure is managed by Adobe and there's already a repository service holding all the repository data, I don't think it would be possible to have a separate S3 datastore. If it's latter, did you try adding the S3 dependencies in pom.xml?

View solution in original post

11 Replies

Avatar

Level 2
This is a common problem with cloud service and product support can only help here.

Avatar

Correct answer by
Employee Advisor

@kiranparab  - Trying to understand your use case, are you trying to create a S3 nodestore or want to programmatically connect with S3 to upload some files?

In former case, since the entire infrastructure is managed by Adobe and there's already a repository service holding all the repository data, I don't think it would be possible to have a separate S3 datastore. If it's latter, did you try adding the S3 dependencies in pom.xml?

Avatar

Level 4
We are not setting up datastore here. We are just adding the s3 connector ZIP as to resolve the dependency. It should be possible.

Avatar

Employee Advisor
@kiranparab - Did you make the neccassary changes in embed section of pom.xml?

Avatar

Level 4

Yes i did that and in my note already mentioned that,

 

14:00:46,076 [main] [ERROR] Error resolving dependencies for project com.pacificlifeinsurancecompanydam:aem-pacificlifeinsurancecompanydam-project.all

14:00:46,077 [main] [ERROR] Failed to collect dependencies at com.adobe.granite:com.adobe.granite.oak.s3connector:zip:1.10.10

Avatar

Employee Advisor
@kiranparab - Couple of things to note, 1. please remove <type> from both dependency and embed section. 2. your embed section has /apps/<app-name>/application/install - /application should not be there. 3. Please ensure dependency is added to both bundle pom and parent pom. Please follow the exact steps mentioned in the link shared. Hopefully this resolves