"""Amazon SQS connector.""" import boto3 from sentry_sdk import capture_exception def get_connection( region='us-east-1', access_key_id=None, secret_access_key=None): """Get connection to Amazon SQS services. Args: region (str): AWS Region access_key_id (str): AWS Access key ID secret_access_key (str): Corresponding AWS Secret Access Key Returns: SQSConnection: instance of SQSConnection class """ connection = boto3.client('sqs', region_name=region) return connection def get_queue(queue_name, sqs_connection=None): """Get Amazon SQS queue. Args: queue_name (str): Name of the SQS queue to get sqs_connection (boto.sqs.connection.SQSConnection): Optional existing SQS connection object Returns: Queue: Instance of Amazon SQS queue """ try: connection = sqs_connection if sqs_connection else get_connection() queue = connection.get_queue_url( QueueName=queue_name).get('QueueUrl') return queue except Exception as e: capture_exception(e) return None