import logging import boto3 from botocore.exceptions import ClientError import os ACCESS_KEY_ID = os.environ.get("ACCESS_KEY_ID") SECRET_ACCESS_KEY = os.environ.get("SECRET_ACCESS_KEY") session = boto3.Session(ACCESS_KEY_ID, SECRET_ACCESS_KEY) def upload_file(file_name, bucket, folder, object_name=None): # If S3 object_name was not specified, use file_name if object_name is None: object_name = os.path.basename(file_name) # Upload the file s3_client = session.client('s3') try: response = s3_client.upload_file(file_name, bucket, f"{folder}/"+object_name) except ClientError as e: logging.error(e) return False url = f'{os.environ.get("RESULT_URL")}{folder}/{object_name}' return url