"""Amazon SNS connector.""" import boto3 def get_sns_resource(): """Get SNS client. Returns: boto3.resources.base.ServiceResource: SNS resource represents object-oriented interface of SNS. """ sns_resource = boto3.resource('sns') return sns_resource def publish_sns_message_to_email(message, topic, sns_resource=None): """Publish Amazon SNS message. Args: message (str): the message content. topic (str): sns topic. sns_resource (boto3.resources.base.ServiceResource): optional SNS resource. Returns: dict: Result of SNS publish """ sns = sns_resource if sns_resource else get_sns_resource() topic = sns.Topic(topic) return topic.publish(Message=message, MessageStructure='string')