2 Answers
- Newest
- Most votes
- Most comments
1
The S3 API guide provides all possible error responses thrown by the S3 service. Additionally, the Python package aws-error-utils can streamline some of the error handling in boto3.
answered 2 years ago
1
You could try to catch ClientError and then parse the error response, for example,
import boto3, botocore.exceptions
s3 = boto3.client('s3')
try:
s3.get_object(Bucket='some-bucket', Key='some key')
except botocore.exceptions.ClientError as error:
if error.response['Error']['Code'] == 'NoSuchKey':
print('No such object')
else: # Unknown exception
print(error.response)
answered 2 years ago
Oh. Would that ClientError under botocore.exceptions catch a EndpointConnectionError? This job runs for a day or two so it takes a while to reproduce.
@jschwar313 You can generate a list of the statically defined botocore exceptions using the following code (taken from boto3 docs
import botocore.exceptions for key, value in sorted(botocore.exceptions.__dict__.items()): if isinstance(value, type): print(key)
Relevant content
- asked 10 months ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated a year ago
Thanks. I'll try and reproduce the problem with that aws_error_utils package being used. I'll see if that helps. Thanks.