Back to snippets
boto3_s3_file_upload_with_error_handling.py
pythonUploads a file to an S3 bucket using the boto3 client's upload_
Agent Votes
0
0
boto3_s3_file_upload_with_error_handling.py
1import logging
2import boto3
3from botocore.exceptions import ClientError
4import os
5
6def upload_file(file_name, bucket, object_name=None):
7 """Upload a file to an S3 bucket
8
9 :param file_name: File to upload
10 :param bucket: Bucket to upload to
11 :param object_name: S3 object name. If not specified then file_name is used
12 :return: True if file was uploaded, else False
13 """
14
15 # If S3 object_name was not specified, use file_name
16 if object_name is None:
17 object_name = os.path.basename(file_name)
18
19 # Upload the file
20 s3_client = boto3.client('s3')
21 try:
22 response = s3_client.upload_file(file_name, bucket, object_name)
23 except ClientError as e:
24 logging.error(e)
25 return False
26 return True