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

Avatar

Avatar
Boost 5
Level 3
kiranparab
Level 3

Likes

23 likes

Total Posts

36 posts

Correct reply

11 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Affirm 5
View profile

Avatar
Boost 5
Level 3
kiranparab
Level 3

Likes

23 likes

Total Posts

36 posts

Correct reply

11 solutions
Top badges earned
Boost 5
Boost 3
Boost 10
Boost 1
Affirm 5
View profile
kiranparab
Level 3

28-06-2021

Hi Team,

 

AEM TO S3 Blocker UseCase ->

 

  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-1624949367625.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-1624949367645.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-1624949367678.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-1624949367696.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

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

 

kiranparab_5-1624949367716.png

 

kiranparab_6-1624949367730.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 depdencies 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 but still does not work.

 

kiranparab_7-1624949367743.png

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

 

Thanks and Regards,
Kiran Parab

Accepted Solutions (0)

Answers (3)

Answers (3)

Avatar

Avatar
Affirm 100
MVP
shelly-goel
MVP

Likes

249 likes

Total Posts

410 posts

Correct reply

107 solutions
Top badges earned
Affirm 100
Give Back 25
Ignite 3
Give Back 10
Validate 1
View profile

Avatar
Affirm 100
MVP
shelly-goel
MVP

Likes

249 likes

Total Posts

410 posts

Correct reply

107 solutions
Top badges earned
Affirm 100
Give Back 25
Ignite 3
Give Back 10
Validate 1
View profile
shelly-goel
MVP

29-06-2021

@kiranparabYou would have to add this bundle in the embed-dependency section as described here:

<Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>

https://stackoverflow.com/questions/56697999/how-to-embed-external-jars-dependency-in-osgi-bundles 

Avatar

Avatar
Boost 500
MVP
Vijayalakshmi_S
MVP

Likes

573 likes

Total Posts

728 posts

Correct reply

240 solutions
Top badges earned
Boost 500
Give Back 50
Give Back 5
Ignite 10
Ignite 5
View profile

Avatar
Boost 500
MVP
Vijayalakshmi_S
MVP

Likes

573 likes

Total Posts

728 posts

Correct reply

240 solutions
Top badges earned
Boost 500
Give Back 50
Give Back 5
Ignite 10
Ignite 5
View profile
Vijayalakshmi_S
MVP

29-06-2021

Hi @kiranparab,

Could you please let know your use case with respect to AWS S3 in AEMasCS instance. Are you making use of the same/its functionality as part of your code base (core module) ?

Avatar

Avatar
Springboard
MVP
Shashi_Mulugu
MVP

Likes

232 likes

Total Posts

294 posts

Correct reply

67 solutions
Top badges earned
Springboard
Bedrock
Validate 1
Applaud 100
Establish
View profile

Avatar
Springboard
MVP
Shashi_Mulugu
MVP

Likes

232 likes

Total Posts

294 posts

Correct reply

67 solutions
Top badges earned
Springboard
Bedrock
Validate 1
Applaud 100
Establish
View profile
Shashi_Mulugu
MVP

29-06-2021

@kiranparab I think you can refer to ACS commons code on how they have done the dependency setup to be compatible with OSGI, though their S3 connectors not compatible with AEM Cloud, baseline code deploys and resolves in AEM cloud as well.