"""S3 common functions.""" import boto3 import botocore from src import config client = boto3.client('s3') resource = boto3.resource('s3') def object_exists(bucket, key): """Check if S3 object exists. Args: bucket (str): target S3 bucket. key (str): target S3 key. """ try: client.head_object( Bucket=bucket, Key=key, ExpectedBucketOwner=config.EXPECTED_BUCKET_OWNER ) except botocore.exceptions.ClientError as e: if e.response['Error']['Code'] == '404': return False else: raise else: return True