def uri_parser(uri):
    """ Split S3 URI into bucket, key, filename """
    if uri[0:5] != 's3://':
        raise Exception('Invalid S3 uri %s' % uri)
    uri_obj = uri.replace('s3://', '').split('/')
    uri_obj = list(filter(lambda x: x, uri_obj))
    return {'bucket': uri_obj[0], 'key': '/'.join(uri_obj[1:]), 'filename':
        uri_obj[-1]}
