Introduction:- Amazon Web Services (AWS) has become a leader in cloud computing. One of its core components is the S3 service, the object storage service offered by AWS. Because of its impressive speed, availability and durability, it is becoming the new way to store images, videos, data, and files. To build scalable applications you will need to combine and integrate S3 with other services. It was launched in 2006 when no company had the cloud computing business model. Today 70% of the cloud computing market is depending on AWS.
Prerequisites:-
To configure Odoo with Amazon S3 storage you will need to have the following:
1:- An AWS account
2:- Amazon S3 storage service subscription
3:- Create a bucket in the S3 storage to store the file data reference Link
4:- Boto3 is the name of the Python SDK for AWS. It allows you to directly CREATE, UPDATE, and DELETE S3 Objects in AWS resources from your Python scripts.
Implementation:-
Here is the Python implementation.
1) How to upload a file in S3 Bucket using Boto3?
import boto3 S3_KEY = 'AMAZON_S3_KEY' S3_SECRET = 'AMAZON_S3_SECRET_KEY' S3_BUCKET = 'BUCKET_NAME' S3_FOLDER = 'DIRECTORY_NAME' # which you want to create an S3 Bucket S3_REGION = 'S3_REGION' # S3 Region name like ap-south-1, ap-north-1 etc FILENAME = 'upload.jpg' # S3 obj filename FILE_PATH = '/temp/upload.jpg' -# local directory file path s3_client = boto3.client('s3', aws_access_key_id=S3_KEY, aws_secret_access_key=S3_SECRET) s3_client.upload_file( Bucket = S3_BUCKET, Filename = FILENAME , Key = FILE_PATH)
2) How to fetch a file from S3 Bucket using Boto3?
s3_client = boto3.client('s3', aws_access_key_id=S3_KEY, aws_secret_access_key=S3_SECRET) fileobj = s3_client.get_object(Bucket = S3_BUCKET, Key = FILENAME )
for more Boto3 python SDK Link
All Done!!
The above used variables for Access Key ID and Secret Access Key are getting from AWS Panel while creating the Amazon S3 Bucket .