Spaces:
Sleeping
Sleeping
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 |