import uuid import boto3 import os from datetime import datetime class Transformer: """Backup SQS message to S3""" def __init__(self): self.client = boto3.client("s3") def match(self, group_id): return True def transform(self, group_id, message_body): now = datetime.now() self.client.put_object( Bucket=os.getenv("MIMIR_STREAM_BACKUP_BUCKET"), Key="{}/{}/{:02d}/{:02d}/{:02d}/{:02d}/{:02d}/{}".format( group_id, now.year, now.month, now.day, now.hour, now.minute, now.second, uuid.uuid4(), ), Body=message_body, ) return message_body def transformer(): return Transformer()