Back to Top

Akeneo Amazon S3 Integration

Updated 10 January 2024

Introduction

Akeneo Amazon S3 Integration: Connect your Akeneo platform with AWS Cloud Storage S3 for storing your catalog data. You can provide your Amazon S3 credentials in the Akeneo Settings panel and do the integration easily. All the Akeneo product files and images will now be saved on the AWS bucket.

Note: For the Akeneo Amazon S3 setup, you can follow this user guide: S3 bucket and policy setup for Akeneo AWS Connector

Basic Requirements:

  • This module works with Akeneo 2.0.x, 2.1.x, 2.2.x, 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x, 5.0.x,6.0.x and 7.0.x. Download Akeneo from here
  • Node and Yarn packages need to be installed.
  • This module is compatible with the Akeneo community and Enterprise(Flexibility) edition.
  • If you want to use this extension on Akeneo EE Serenity mode, please contact us.
  • For the Akeneo installation, your Akeneo server should meet these system requirements.

Features

  • Integrate Akeneo catalog storage to use Amazon s3 instead of File storage
  • Provide S3 credentials in Settings on Akeneo
  • There is no storage problem with using this.
  • Store the file and Images and integrate them with Akeneo
  • Generate the URL of the product images and files
  • The prefix can be according to you for catalog storage.
  • This module is compatible with the latest Akeneo version 7.0.x
  • Added Aws visibility icon and message according to the Aws visibility.
  • Change visibility option on media view. It works only when the PutObjectAcl is given to Bucket.
  • Visibility will change from private or public.
  • This module helps to export AWS image URLs to CSV or XLSX files.
  • You can set the default visibility of new products to either public or private.

Video Tutorials

Check out the following video tutorials below:

How to connect Akeneo with Amazon S3 serve

SNBMDWT6-bA

How to create Amazon S3 Credentials

Follow the below steps to create Amazon S3 Credentials to be used in Akeneo

Searching for an experienced
Akeneo Company ?
Find out More
  • Go to https://aws.amazon.com/console/  then click on the sign-in to the consolescreenshot_1679038687443
  • After it, you will get two options Sign in and then create a new AWS account.
    sign-in

Once you have created an account or signed in then you have to create a ticket.

Step1: Create a Bucket

Go to Services >> All Services >> S3 to create a bucket, or enter “s3” directly into the search field.

2-5

Next, create a new bucket or select an existing one.

3-7

Once you’ve selected “Create Bucket,” you have to enter the details mentioned below.

  1. Type the bucket name
  2. Select your AWS Region
  3. Choose the ACLs enabled from object ownership.

4-6

Rest Keep all the default configuration and click on create bucket button.

5-9

Step 2:  Create a Policy 

After creating the bucket, go to step two to create the policy for it by navigating to Services >> All Services >>IAM.

6-7

Following that, choose Policy from the left menu, and then click the “new policy” option.

7-7

After clicking the create button, a popup screen will display.

  • Select the service S3
  • Select the following  Actions:
  1. ListBucket
  2. GetBucketAcl
  3. GetObject
  4. GetObjectAcl
  5. DeleteObject
  6. PutObject
  7. PutObjectAcl
  • Choose Resources => Enter the name of the bucket and object.

8-8

Click the next Tags. In step 3, enter the policy name.

10-7

Once the policy has been created, update it, then copy the JSON and Policy ARN for further processing.

11-8

Step 3: Create a User

To create a new user you have to navigate to Services>> All Services >> IAM >> Users >> Add Users.

12-6

Next, enter the user name then select the next button.

13-8

Set the permissions after which you can choose “Attach policy directly” >> “Choose the created policy” and “Next.”

14-8

And then click on the create user.

Step 4: Create access key

To get access, edit the created user, and then select the security credentials tab. Then, click the Create Access Key button to get the key.

17-3

Select the other case click on the next button then click on create an access key button and then download the CSV.

18-3

Step 5: Attach policy to the bucket

After that navigate to services >> All Services >> S3 >> Edit Created Bucket>> Permissions>> Edit bucket policy.

15-7

And then paste the JSON that you copied from the policy as shown below.

16-3

Thenclick on the save changes button.

Composer Installation

Read This Blog

Before beginning the composer installation

1: Get the ACCESS KEYS [Create a support ticket]
2: In Akeneo composer.json, add our repository as well as the installation script.

Akeneo 6 and 7:

{
  "scripts": {
        "post-update-cmd": [
           "vendor/webkul/awsintegrationbundle/src/Webkul/AwsIntegrationBundle/install/config.sh COMPOSER=true NO_DOCKER=true"
        ],
        "post-install-cmd": [
           "vendor/webkul/awsintegrationbundle/src/Webkul/AwsIntegrationBundle/install/config.sh COMPOSER=true NO_DOCKER=true"
        ],
        "post-create-project-cmd": [
          "vendor/webkul/awsintegrationbundle/src/Webkul/AwsIntegrationBundle/install/config.sh COMPOSER=true NO_DOCKER=true"
       ]
   },
  "repositories": [{
    "type": "composer",
    "url": "https://akeneorepo.webkul.com/"
  }]
}

For Akeneo <=5.x 

{
  "scripts": {
        "post-update-cmd": [
           
"vendor/webkul/awsintegrationbundle/composer_install.sh"
        ],
        "post-install-cmd": [
           
"vendor/webkul/awsintegrationbundle/composer_install.sh"
        ],
        "post-create-project-cmd": [
         
"vendor/webkul/awsintegrationbundle/composer_install.sh"
       ]
   },
  "repositories": [{
    "type": "composer",
    "url": "https://akeneorepo.webkul.com/"
  }]
}

3: Use composer to install the extension.

         composer require webkul/awsintegrationbundle

4: Complete the authentication form.
5: Send a Message of Success
6: Delete your browser’s cache.

Installing Module for Version 6.0.x and 7.0.x

  •  After unzipping the appropriate extension zip, merge the “src” folder into the akeneo project.
  • From the PIM directory, run the following command over the NO-DOCKER Instance.
./src/Webkul/AwsIntegrationBundle/install/config.sh COMPOSER=false NO_DOCKER=true
  •  Run the command below over the PIM directory’s DOCKER instance.
./src/Webkul/AwsIntegrationBundle/install/config.sh COMPOSER=false NO_DOCKER=false

After installing this Bundle, add settings in Aws Integration tab and product data like image and files will be saved to Aws bucket

If you have already existing product media data then run following command from terminal to move files to amazon s3

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_files:s3</span>

And If you are using Akeneo Enterprise Edition and want to export all your product assets to Amazon S3 then run this command.

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_asset_files:s3</span>

Module Installation for Version 4.0.x to 5.0.x


Install the connector dependencies:

For Akeneo 5

php -d memory_limit=4G /usr/local/bin/composer --prefer-dist --no-scripts require aws/aws-sdk-php v3.172.0 -v;

php -d memory_limit=4G /usr/local/bin/composer --prefer-dist --no-scripts require league/flysystem-aws-s3-v3 v1.0.6 -v;

For Akeneo 4

php -d memory_limit=4G /usr/local/bin/composer --prefer-dist --no-scripts require aws/aws-sdk-php v3.5.0 -v;

php -d memory_limit=4G /usr/local/bin/composer --prefer-dist --no-scripts require league/flysystem-aws-s3-v3 v1.0.6 -v;

After that please follow these steps for installing Akeneo Amazon S3 Integration in your Akeneo PIM platform.

  • Unzip the respective extension zip then merge the “src” folder into the akeneo project root directory.

sr-amazon-s3

  • Goto config/Bundles.php then add line:
Webkul\AwsIntegrationBundle\AwsIntegrationBundle::class => [ 'all'=> true],

amazon-appkernal

in the return array.

  • Copy the “config” folder into the akeneo project root directory for routing.

conf-amazon

  •  Run this command after ssh to your akeneo server by the terminal
php bin/console cache:clear--env=prod;php bin/console aws:setup:install
  • If you are using php-fpm. Then you need to restart the php-fpm services.

For Akeneo 5

sudo service php-fpm7.4 restart

For Akeneo 4

sudo service php-fpm7.3 restart

Docker Installation Command :

For Akeneo 5

alias docker_php='docker-compose run -u www-data --rm php php';
alias docker_yarn='docker-compose run -u node --rm node yarn';
docker_php bin/console cache:clear --env=prod;
docker_php bin/console pim:installer:assets --symlink --clean --env=prod;
docker_php bin/console d:s:u --force;
docker_yarn run webpack;
docker_yarn run update-extensions;
docker_yarn run less;

For Akeneo 4

alias docker_php='docker-compose run -u www-data --rm php php';
alias docker_yarn='docker-compose run -u node --rm node yarn';
docker_php bin/console cache:clear --env=prod;
docker_php bin/console pim:installer:assets --symlink --clean --env=prod;
docker_php bin/console d:s:u --force;
docker_yarn run webpack;
docker_yarn run less;

After installing this Bundle, add settings in Aws Integration tab and product data like image and files will be saved to Aws bucket

If you have already existing product media data then run following command from terminal to move files to amazon s3

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_files:s3</span>

And If you are using Akeneo Enterprise Edition and want to export all your product assets to Amazon S3 then run this command.

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_asset_files:s3</span>

Module Installation for Version 2.x to 3.x

Please follow these steps for installing Akeneo Amazon S3 Integration in your Akeneo PIM platform.

  • Unzip the respective extension zip then merge the “src” folder into the akeneo project root directory.

sr-amazon-s3

  • After that goto app/AppKernel.php then add the following line in function registerProjectBundles()

AppKernel.php

new Webkul\AwsIntegrationBundle\AwsIntegrationBundle(),
  • In the app/config/config.yml then add these lines after imports
    Config.yml file
 - { resource: "@AwsIntegrationBundle/Resources/config/config.yml" }
  • Goto app/config/routing.yml then add these lines at top of the file

Routing.yml file

aws_integration:
    resource: "@AwsIntegrationBundle/Resources/config/routing.yml"
    prefix:   /
  • You have to navigate first to Akeneo installation directory (Ex: cd /opt/bitnami/apps/akeneo/htdocs). After SSH, you have to run the command to your Akeneo server by the terminal.
php bin/console cache:clear--env=prod;php bin/console aws:setup:install
  • If you are using php-fpm. Then you need to restart the php-fpm services.

    sudo service php-fpm7.2 restart

After installing this Bundle, add settings in the Aws Integration tab and product data like images and files will be saved to the Aws bucket

If you have already existing product media data then run the following command from the terminal to move files to amazon s3

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_files:s3</span>

And If you are using Akeneo Enterprise Edition and want to export all your product assets to Amazon S3 then run this command.

<span id="LC1" class="line" lang="plaintext">    php bin/console aws_integration:move_existing_asset_files:s3</span>

Migrate your Existing Akeneo data to Amazon S3

Amazon S3 is a simple web interface to store a large amount of data then you can retrieve the data at any time, anywhere from the web.

If you have a lot of data at the Akeneo end and want to migrate these data to Amazon S3 then you can easily do it. You have to run this command for the same.

php bin/console aws_integration:move_existing_files:s3

If you are using Akeneo Enterprise Edition and want to export all your product assets to Amazon S3 then run this command.

php bin/console aws_integration:move_existing_asset_files:s3

COMMON ISSUES AFTER INSTALLATION

It might happen that even after proper installation, upon opening your Akeneo admin dashboard, you see a loading screen. In that case, do check for the following solution:

  • Webpack Installation: If you get the below error
    Webpack error
    It means that a web pack is not installed in your system. Run the following command
npm install --save-prod webpack
npm install
  • Module routing.yml is not configured properly. Re-check the routing.yml file as mentioned in the 3rd step of Module Installation
    Page loader doesn't stop
  • Clear your browser cache using ctrl+shift+r.

Uninstall Module: For Akeneo 6 and 7

  • From the PIM directory, run the command below over the NO-DOCKER Instance.
./src/Webkul/AwsIntegrationBundle/uninstall/uninstall.sh COMPOSER=false NO_DOCKER=true
  • Run the command below over the PIM directory’s DOCKER instance.
./src/Webkul/AwsIntegrationBundle/uninstall/uninstall.sh COMPOSER=false NO_DOCKER=false

Setup Credential in Akeneo

Log in to Akeneo and go to AWS>Documentation when the module has been successfully installed.

Webkul-Akeneo-AWS-integration-Connector-2

Then you need to set up the Amazon S3 API credentials in Akeneo.

Follow Aws >Credentials. In the Aws Region, you have to add the region of your store then you have to enter the value like

  • Aws Region
  • Aws key
  • AwsSecret
  • Aws bucket name
  • Catalog Storage Prefix
  • DAM Asset Storage Prefix
  • Default Visibility

Webkul-Akeneo-AWS-integration-Connector-3

Creating a Product in Akeneo

After that to create a product in Akeneo, go to the Products then click the Create button. Now, you need to choose the product type – Product or Product Model.

Product – Select this type for creating simple and virtual products.

Product Model – Select this type for creating a configurable product with variations.

create a product in Akeneo

Then enter the required SKU, choose a family, and after that click the Save button.

Product Family – A family is a set of attributes that will be the same for all products belonging to a family. The product family represents product type, imposes product information structure, and defines the list of attributes for a product that which it belongs.

Create a product family

Add Product Details

After that, you need to provide information about the product. First, select the Channel and Locale then enter the details.

Product-Hat-_-Edit-1

After that, you can change the product images and file visibility in Akeneo. For it, you have to click on the icon shown in the image below.

After clicking on it, you will get the notification Visibility Change to public Successfully or Visibility Change to private Successfully.

If you enable the visibility you can see the product asset in the browser with the asset URL.

Product-Hat-_-Edit-2

After clicking on the icon shown in the below image, you will get a link for the image at Amazon AWS Server. You can also save the files on the server.

Product-Hat-_-Edit-3

After clicking on the icon, then you will get the link to the product assets at Amazon S3 Server.

Screenshot-from-2022-05-19-12-26-02

Product in Amazon AWS Bucket

After successfully installing the module, you can find the product images and files in the Amazon AWS bucket after that you can also use this link for other product creations.

Then you can download the product and files and it is looking like it in Amazon S3.

Screenshot-from-2022-05-19-12-28-41

Support

Thank you for reading this documentation. So, that was much about the User Guide of Akeneo Amazon S3 for any queries or doubts reach out to us at [email protected]. You can also raise a ticket at our HelpDesk System.

Please explore our Akeneo Development Services and Quality Akeneo Extensions.

Current Product Version - 2 to 5 || 2.0.0 and Akeneo 6 || 3.0.0 and Akeneo 7 || 4.0.0

Supported Framework Version - Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x, 5.0.x, 6.0.x and 7.0.x

Blog Version - Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x, 5.0.x, 6.0.x and 7.0.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, and 3.1.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x, 5.0.x, 6.0.x and 7.0.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x, 5.0.x and 6.0.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x, 4.0.x and 5.0.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x, 3.2.x and 4.0.x
  • Version Akeneo 2.0.x, 2.1.x, 2.2.x , 2.3.x, 3.0.x, 3.1.x and 3.2.x
. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


10 comments

  • Ben
    • Adarsh Shukla (Moderator)
  • Frederick
    • Adarsh Shukla (Moderator)
  • Jörg
    • saurav pathak (Moderator)
  • Nei
    • Adarsh Shukla (Moderator)
  • Perion
    • Adarsh Shukla (Moderator)
  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home

    Table of Content