def parse_s3_event()

in infrastructure/emr_trigger/lambda_source/trigger.py [0:0]


def parse_s3_event(s3_event):
    """
    Parse S3 Event for data relevant to the DynamoDB Batch metadata table
    :param s3_event:
    :return:
    """
    d = {
        "bucket": s3_event["s3"]["bucket"]["name"],
        "key": unquote_plus(s3_event["s3"]["object"]["key"]),
        "size": int(s3_event["s3"]["object"]["size"] / 1024),
        "s3_event": s3_event,
    }
    d["bag_file"] = [x for x in d["key"].split("/") if "bag_file=" in x][0].replace(
        "bag_file=", ""
    )
    d["topic"] = [x for x in d["key"].split("/")][0]
    return d