Spaces:
Runtime error
Runtime error
import logging | |
import boto3 | |
from botocore.exceptions import ClientError | |
import os | |
def upload_file(file_name, bucket, object_name=None): | |
"""Upload a file to an S3 bucket | |
:param file_name: File to upload | |
:param bucket: Bucket to upload to | |
:param object_name: S3 object name. If not specified then file_name is used | |
:return: True if file was uploaded, else False | |
""" | |
# If S3 object_name was not specified, use file_name | |
if object_name is None: | |
object_name = os.path.basename(file_name) | |
if (not 'AAK_ID' in os.environ) or (not 'ASAK' in os.environ): | |
print('AWS keys not specified. Cancelling sync') | |
return False | |
# Upload the file | |
s3_client = boto3.client( | |
's3', | |
aws_access_key_id=os.environ['AAK_ID'], | |
aws_secret_access_key=os.environ['ASAK'] | |
) | |
try: | |
response = s3_client.upload_file(file_name, bucket, object_name) | |
except ClientError as e: | |
logging.error(e) | |
return False | |
return True |