"""Connects to AWS S3.""" import boto3 # AWS from integration_scripts import common_config aws_keys = common_config.AWS_ACCESS_KEY_ID and \ common_config.AWS_SECRET_ACCESS_KEY # noqa test_env = common_config.ENVIRONMENT == common_config.TEST_ENVIRONMENT if not aws_keys and not test_env: raise ConnectionAbortedError('AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY ' 'are required for S3 access.') # Create s3 object s3_resource = boto3.resource( 's3', aws_access_key_id=common_config.AWS_ACCESS_KEY_ID, aws_secret_access_key=common_config.AWS_SECRET_ACCESS_KEY) # Create s3 Client object s3_client = boto3.client( 's3', aws_access_key_id=common_config.AWS_ACCESS_KEY_ID, aws_secret_access_key=common_config.AWS_SECRET_ACCESS_KEY) # s3 Config for download_fileobj() - chunks and threading S3_CONFIG = boto3.s3.transfer.TransferConfig( multipart_threshold=4000000, multipart_chunksize=4000000, use_threads=True) # connect to buckets s3_bucket_name = common_config.S3_BUCKET