dubai / modules /r2.py
fountai's picture
adding image and mimic
6fd592e
import boto3
from botocore.config import Config
import os
import io
endpoint = os.environ.get("AWS_ENDPOINT")
account_id = os.environ.get("AWS_ACCOUNT_ID")
aws_access_key_id= os.environ.get("AWS_ACCESS_KEY")
aws_secret_access_key= os.environ.get("AWS_SECRET_KEY")
bucket = os.environ.get("AWS_BUCKET")
config = Config(
signature_version='s3v4',
s3={'addressing_style': 'path', 'payload_signing_enabled': False}
)
s3 = boto3.client('s3',
endpoint_url = endpoint,
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
config=config)
def upload_to_s3(path, name, extension):
s3.upload_file(path, bucket, name, ExtraArgs={'ContentType': f'audio/{extension}', 'ACL': 'public-read'})
url = s3.generate_presigned_url(
'get_object',
Params={'Bucket': bucket, 'Key': name},
ExpiresIn=604800
)
return url
def upload_image_to_s3(path, name, extension):
s3.upload_file(path, bucket, name, ExtraArgs={'ContentType': f'image/{extension}', 'ACL': 'public-read'})
url = s3.generate_presigned_url(
'get_object',
Params={'Bucket': bucket, 'Key': name},
ExpiresIn=604800
)
return url
def get_url(name):
url = s3.generate_presigned_url(
'get_object',
Params={'Bucket': bucket, 'Key': name},
ExpiresIn=604800
)
return url