WHAT IS AMAZON S3 SERVICE?
Amazon S3 or ‘simple storage service’ is the cloud storage service provided by AWS. It is a one-stop storage solution for your organization which offers high durability, scalability and reduced latency.
The users can store any type of data in form of objects organized in buckets. The bucket is like a storage folder where the user stores its files i.e. objects.
The data can be then accessed by the appropriate user anytime and from anywhere around the world. Amazon S3 storage is the solution to overcome shortcomings like Storage limitation, database corruption and latency issues due to load on your server.
BENEFITS OF USING AMAZON S3 STORAGE SERVICES
The benefits of using Amazon S3 Storage with Odoo are multifold. Such as:
Amazon S3 offers high scalability on demand so you can scale up and down as per your requirements.
2.) Cost Effective
The cost to handle a private server is eliminated by using Amazon S3. The service is offered on the basis of the Pay-for-what-you-use model which allows you to scale up and down as per your data needs.
The AWS offers 99.9% of Up-time in a month.
4.) Data Access
Amazon s3 storage acts as portable storage for your organization. The data can be accessed from anywhere around the world.
5.) Data backup and Recovery
Amazon S3 automatically making copies of your object on multiple devices across multiple facilities so you don’t have to worry about data loss.
FEATURES OFFERED BY ODOO AMAZON S3 STORAGE MODULE
- The module facilitates uploading the Odoo attachments to S3 Cloud.
- The Admin can choose the data he wants to sync to Amazon S3 storage.
- The attachments are automatically Deleted from S3 Cloud when they are deleted from Odoo.
- The admin can set the access rights for the Amazon bucket/object
- The module allows setting expiration interval to the attachments under ‘Not Public’ access. Once the expiration interval has passed, the attachment can only be viewed by the user with a valid AWS signature.
- The admin can regenerate the new Url with a click when an attachment expires.
- It allows you to restore your attachments if your Database crashes.
- Amazon S3 can be used as external storage for any number of databases.
PREREQUISITES FOR USING THE MODULE
Here is the list of things you would need to configure the Odoo with Amazon S3 storage:-
1.) An AWS account.
2.) Subscription to Amazon S3 storage service.
3.) You would also need to create a bucket in the S3 storage to store the Odoo data. Click here to see how to create a bucket.
Working with Odoo Amazon S3 Storage Module
1.) To let Odoo store the data as an url in Amazon s3 storage, you need to define a new system parameter. In the Odoo backend, Activate the developer mode. Then, go to settings >>> Technical >> System Parameters. Here, click on Create.
2.) Now, enter the following string as key >> ir_attachment.location
3.) Then, enter ‘Url’ next to the value field. Click Save.
4.) Next, go to Website >> settings. Then, click on ‘Configuration’ under the Amazon S3 Configuration.
5.) In the domain field, enter the string for the data you wish to save on Amazon s3 storage.
For example- [(‘res_model’,’in’,[‘product.template’])] to sync products.
6.) Then, enter the Amazon S3 credentials i.e. Bucket Name, Secret key and Access Key Id.
7.) You can also set the object access rights as public or not public. However, remember that the settings chosen at Odoo’s end for the bucket should match the settings assigned to the same bucket in the Amazon S3 storage.
8.) If access rights are set to public, the attachment can be viewed by any user, both in Odoo and Amazon S3. (See step )
9.) If it is set to not public, the attachments can be used only by those who have the AWS signature.
10.) To set the attachment expiration time under ‘Not Public’ access, enter the expire value. Then set the time unit as seconds, minutes, hours etc in the ‘Image Expire In’ field.
11.) To sync old attachments stored in the particular Amazon bucket click on ‘Sync Old attachments’.
Syncing Data in Amazon S3 storage
12.) Depending upon the domain set in the configuration, you can sync the respective data with Amazon S3 storage.
13.) For instance, if you have the domain for product.template, the product would be synced and stored to Amazon S3 storage.
14.) To check this, create a product in the Odoo backend. The product attachment is stored immediately to the Amazon S3.
Accessing Amazon S3 Cloud Storage
15.) Log in to your Amazon AWS account and go to S3 storage. Here, click on the same bucket name configured in the Odoo.
16.) To set the public access rights, click on the tab- ‘Edited Public Access Settings’.
17.) Then, tick on the checkbox next to ‘Remove public access granted through public ACLs (Recommended)’. This will allow only those users to access the buckets who have the AWS signature. (Make sure the access settings are uniform across both Odoo and Amazon S3 for a bucket).
18.) In this case, an attachment cannot be viewed in either Odoo or Amazon without the AWS signature, once it passes beyond the set expiration time.
Viewing the attachments
19.) If the access rights are set to public, open the bucket and click on any attachment to view it.
20.) At Odoo end, activate the developer mode. Then, go to settings >> technical >> attachments. Here, open the same attachment, it should open now.
Was this guide helpful? Please share your feedback in the comments below.
If you have any issues/queries regarding the module please raise a ticket at
For any doubt contact us at firstname.lastname@example.org.
Thanks for reading!!
Current Product Version - 1.0.0
Supported Framework Version - ODOO V10, V11, V12