def is_available():
'''
Check ability to access S3 bucket.
'''
s3_client = boto3.client('s3')
try:
kwargs = {'Bucket': TS_AWS_S3_BUCKET}
if TS_AWS_S3_PREFIX:
kwargs['Prefix'] = TS_AWS_S3_PREFIX
s3_client.list_objects(**kwargs)
except ClientError as e:
exc_info = sys.exc_info()
if sys.version_info >= (3,0,0):
raise S3ClientError(e).with_traceback(exc_info[2])
else:
six.reraise(S3ClientError, S3ClientError(e), exc_info[2])
except RequestException as e:
exc_info = sys.exc_info()
if sys.version_info >= (3,0,0):
raise S3ClientError('Failure to communicate with S3').with_traceback(exc_info[2])
else:
six.reraise(S3ClientError, S3ClientError('Failure to communicate with S3'), exc_info[2])
return True
评论列表
文章目录