def parse_bucket_blob_from_gs_link(path):
    """Utility to split a google storage path into bucket + blob name.

    Args:
        path (str): A string of google cloud storage path (must have gs:// prefix)

    Returns:
        (str, str): A tuple of (bucket name, blob name)
    """
    if not path.startswith('gs://'):
        raise ValueError('%s path is not a valid link')
    parts = path.split('/', 3)
    (prefix, _, bucket), blob = parts[:3], parts[3]

    return bucket, blob