Magento 2 Amazon S3 Extension is a useful module that supports media files (like product images, media in the product description and short description, etc.) for all types of products
The extension enables the admin to upload media files of different product types from its local disk to the Amazon server.
Therefore, will experience faster site load or page loads due to unnecessary pause elimination and cater to heavy traffic.
Amazon S3(Amazon Simple Storage Service) is a cloud storage service offered by AWS(Amazon Web Service).
Amazon S3 is based on CDN(Content Delivery Network) which stores multiple copies of content on strategically distributed servers.
And dynamically measures which server is nearest to the requesting client and accordingly delivers the fast content.
- To use the Amazon S3 service, the user needs to have an Amazon AWS account. Users can register themselves from here.
- The users can click here to understand how to get started with Amazon S3.
Features of Amazon S3 Extension
- Support all Magento 2 product types.
- All media files of all types of products (like product images, media in the product description, short description, editing images, etc) are stored and retrieved from the Amazon Simple Storage Service (Amazon S3) bucket.
- Flexible settings to configure the module settings.
- Set server(Local/Amazon) on which file should be uploaded.
- Store and download the files from Amazon S3 Server.
- Check the bucket availability in just a click.
- Customers can download the files from Amazon Server irrespective of time and place.
- Also, the extension is fully open source and easy to use.
- Now cache images are also served from Amazon s3 Server as well.
Customers will get a zip folder and they have to extract the contents of this zip folder on their system.
The extracted folder has an src folder, inside the src folder you have the app folder.
After that, you need to transfer this app folder into the Magento2 root directory on the server as shown below.
After the successful installation of the Magento 2 Amazon S3 module, you have to run these commands in the Magento2 root directory.
The first command – composer require aws/aws-sdk-php
Second command – php bin/magento setup:upgrade
Third Command – php bin/magento setup:di:compile
Fourth Command – php bin/magento setup:static-content:deploy
After running the commands, you have to flush the cache from the Magento admin panel by navigating through->System->Cache management as shown below.
For module translation, navigate to the following path in your system app/code/Webkul/S3amazon/i18n/en_US.csv.
Open the file named en_US.CSV for editing as shown in the below screenshot.
Then replace the words after the comma(,) on the right in the file with your translated words.
After editing and translating the CSV file, you need to save the translated file name according to your region language and country code such as – de_DE.CSV.
Followed by uploading the translated file to the same folder from where you have obtained it. Now your module translation is complete.
Amazon S3 Extension Configuration
After the extension installation, the admin will configure the module settings by navigating to the Stores->Configuration->Amazon s3 as per the below image.
General Settings of Magento 2 Amazon S3 Module
Here, the admin under general settings will:
- Allow files to save on Amazon – to save the file on Amazon server set this as YES else set as NO.
- Access Key ID – enter the Amazon server access key which you will get after creating the account on Amazon S3.
- Secret Key – enter the Amazon server secret key which you will get after creating the account on Amazon S3.
- Bucket Name – enter the Amazon bucket name which you have created in the Amazon S3 account.
- Region – enter the region of the bucket where you want the bucket to reside. The region name should be as you have mentioned the region while creating the bucket in the Amazon S3 account.
- Check Bucket Availability – click the “check” button to check the bucket availability. If it would be available and exists in the Amazon S3, it shows the message “Available.
Else, will show the error message as per the below image.
After that, click the Save button to save the module configuration successfully.
Storage Configuration for Media in Magento 2 Amazon S3
Secondly, move to the Advanced menu option under the configuration setting. For setting up the Storage Configuration for Media.
Now after setting up the Amazon S3 module configuration, the admin needs to configure the storage for media-
Here the admin from Media Storage option will select the media storage location where all the website media will get the store.
After, selecting the desired location, the admin needs to click on the Synchronize button to transfer all media to that location and then “Save Config“.
Note:- Media will not be available in the new location until the synchronization process is complete.
Setting Up Base Url in Magento 2 Amazon S3
The admin needs to now navigate to the web sub-menu option under the general setting option, to configure the Base URLs settings.
Further, in the Base URL for User Media Files option, the admin will enter the Amazon S3 bucket URL that saves and retrieves the media files.
Meanwhile, in the below screenshot you can see that the media files of the website are served from the Amazon instead of the system or database storage.
Uploading Downloadable Product
Once the admin is done with the module configuration part, the admin can now upload the media files concerning the products on the Amazon S3.
For this, the admin will navigate to the Products -> Catalog -> Add Product as per the below image.
Select Downloadable Product from the Add Product drop-down list. This will navigate you to the New Product page.
Here, the admin will fill in all the required details of the downloadable product and upload the downloadable file and hit the Save button.
After saving the downloadable product, the file gets saved on the Amazon Server and therefore, will get the Amazon S3 link.
Note: The admin will get the Amazon S3 link only after saving the product successfully.
The customer will download the product from the Amazon Server just like any other product from the local Server.
However, if we are talking regarding the downloadable product, the customer can download the product only after the admin has created the order invoice.
Further, in this module, the data will get stored in Amazon S3 for all types of products. The data includes media files.
Media files are the images/ videos associated with the products. These images and videos are generally used to show the product details and give a better description of the same.
For example, the product main image, configurable images, demo product video, description image, GIFs, audio node, etc all fall under the category of media files.
So, either it is any of the simple, virtual, configurable, grouped, bundle, and downloadable products, the media files will get a store to the Amazon S3 buckets.
Further, when the customers will view the product they will get to see the product image will appear quickly. Also, the upload and retrieval rates are pretty quick for media files.
Frontend Product Page View
Hence, the appearance of the same product in the store frontend will be the same as the image shown below:
Moreover, if the customer will view the image in the new tab, the source includes Amazon S3 in the URL as shown in the image below:
CMS Page View
The images or media files are present anywhere in the store. Let’s take an example of the CMS pages, This CMS page contains regular images, these will also be fetched from the Amazon S3 server.
The same will happen with the images in CMS pages too, the URL is mentioned below:
Wrapping this up, this shows that all the images get retrieved from the amazon web server if the same will be used as the storage area.
In conclusion, that’s all for the Magento 2 Amazon S3 Extension module. Still, have any issue, feel free to add a ticket at webkul.uvdesk.com
Current Product Version - 3.0.0
Supported Framework Version - 2.0.x 2.1.x 2.2.x,2.3.x